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.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,e51f94f876618e37 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.66.84.34 with SMTP id v2mr5900911pay.38.1352532880160; Fri, 09 Nov 2012 23:34:40 -0800 (PST) MIME-Version: 1.0 Path: s9ni1318pbb.0!nntp.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!news2.euro.net!newsfeed.x-privat.org!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Question[s] about aliased extended return. Date: Sat, 10 Nov 2012 01:34:32 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <9bbd99bd-f953-434d-b3c8-6e8a6d5c7dfd@googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1352532877 4101 69.95.181.76 (10 Nov 2012 07:34:37 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sat, 10 Nov 2012 07:34:37 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-RFC2646: Format=Flowed; Response X-Received-Bytes: 2403 Date: 2012-11-10T01:34:32-06:00 List-Id: "Yannick Duch�ne (Hibou57)" wrote in message news:op.wnhlszemule2fv@cardamome... ... >> No. Allowing "aliased" at all was a bug in Ada 2005; we preserved it only >> for compatibility (some GNAT customers used it a lot). > >Why not list it in the Obsolescent Features section? Obviously, if customers are using it enough to make this an issue, it's useful in some cases. And there is no alternative if you have to have a pointer to match some idiot API, so it's hard to call it obsolescent. We believe that it can make sense to use for any object that requires build-in-place, which is where the "immutably limited" rule comes from, but it doesn't make sense if a temporary is involved. But that's all after-the-fact thinking; no one considered the implications when it originally put into the syntax and there doesn't appear to have been any original reason to allow it other than consistency with normal object declarations. (But whoever came up with that left out "constant", so they didn't do that very well, either.) Since the semantics don't make sense in general, and there was no identified need, it shouldn't have been there in the first place. The situation is different now, as the OP's example shows; since it was there, people figured out ways to use it. Randy.