From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c80e6f742e73478f X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news2.google.com!news.glorb.com!news2.glorb.com!news.mv.net!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Ensuring postconditions in the face of exceptions Date: Tue, 16 Mar 2010 16:04:41 -0400 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <820d96c0-5d67-4b8c-8c5b-811ca4f1127e@g26g2000yqn.googlegroups.com> <4b9a098b$0$2339$4f793bc4@news.tdc.fi> <3696058c-235f-4d58-87be-74172ca0248a@g4g2000yqa.googlegroups.com> <341a6a47-cb89-4ec3-a030-8f580bcb4a55@q21g2000yqm.googlegroups.com> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: pcls6.std.com 1268769869 32497 192.74.137.71 (16 Mar 2010 20:04:29 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Tue, 16 Mar 2010 20:04:29 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:zgsG+29kU2E2femnH3CUFW2eVos= Xref: g2news1.google.com comp.lang.ada:9602 Date: 2010-03-16T16:04:41-04:00 List-Id: Adam Beneschan writes: > On Mar 16, 8:18�am, Robert A Duff > wrote: > >> > Repeat after me: "limited" is a property of a view! It's not constant for a >> > particular type! That's a common mistake that even those of us on the ARG >> > make from time-to-time. >> >> I don't understand why the definition of "by reference" is subtly >> different from the definition of "immutably limited". > > Well, for one thing, the language defines what types are "immutably > limited", but it doesn't completely define which types are "by > reference"---the implementation decides that in some cases (6.2(11)). I mean the term "by-reference type", which is (portably) defined by the RM. These are the types that are required to be passed by reference. You're right that there are some other types where the compiler gets to decide -- but I wasn't talking about those. - Bob