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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,195bd8ec4227e968 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-09 23:20:17 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!crtntx1-snh1.gtei.net!news.gtei.net!newsfeed1.easynews.com!easynews.com!easynews!newshosting.com!nx01.iad01.newshosting.com!border1.nntp.ash.giganews.com!border2.nntp.sjc.giganews.com!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Tue, 10 Feb 2004 01:20:06 -0600 Date: Tue, 10 Feb 2004 02:20:06 -0500 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: [Q] non-limited record and "self-pointer" References: <86d68pl0tc.fsf@sonnenregen.at.home> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.147.77.160 X-Trace: sv3-1POLf8+dt04jGAPD8PGzKx7VBJSGX/h2e3zo9lGjrwx/1j5RzLaHCBAIB+F78cGAjAhm35UpHTCxeKU!JG+EgOX3OAx822Nh4Q5y0lUUpEGJh6+yj1U6IzggP20wnNUfw5mAcLA/ZNY2pw== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:5383 Date: 2004-02-10T02:20:06-05:00 List-Id: Stephen Leake wrote: > This definitely looks like a compiler bug. Perhaps because Container > is tagged, Read_Only_Set is being labeled "aliased". But that's not in > the ARM. I don't see that. 3.10(9) says in part: "Finally, the current instance of a limited type, and a formal parameter or generic formal object of a tagged type are defined to be aliased." Note that this applies to parameters, not to objects. So a type definition can include a self reference as in the example, and the compiler should only object if you declare an object of the type that is not aliased. However there is a big bug here that should be fixed in Ada 0Y. If parameters of a type are aliased, it doesn't make any sense to require users to declare objects of the type as explicitly aliased. But that's the way it currently is, and I have some code now that has aliased in object declarations all over the place. I also feel the same way about objects with aliased components. Is there really any benefit to not making objects of a type with aliased components always aliased? -- Robert I. Eachus "The war on terror is a different kind of war, waged capture by capture, cell by cell, and victory by victory. Our security is assured by our perseverance and by our sure belief in the success of liberty." -- George W. Bush