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,3162283879cdc5f2 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.224.165.130 with SMTP id i2mr28380363qay.2.1368805729939; Fri, 17 May 2013 08:48:49 -0700 (PDT) X-Received: by 10.50.132.4 with SMTP id oq4mr2919594igb.2.1368805729857; Fri, 17 May 2013 08:48:49 -0700 (PDT) Path: y6ni50164qax.0!nntp.google.com!gj8no1062483qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 17 May 2013 08:48:49 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=66.126.103.122; posting-account=duW0ogkAAABjRdnxgLGXDfna0Gc6XqmQ NNTP-Posting-Host: 66.126.103.122 References: <309db8ab-239d-4b06-9450-3a0b098f3953@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Type vs subtype about visibility of parent's private full definition From: Adam Beneschan Injection-Date: Fri, 17 May 2013 15:48:49 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2013-05-17T08:48:49-07:00 List-Id: On Thursday, May 16, 2013 5:01:02 PM UTC-7, Randy Brukardt wrote: > ... >=20 > >> What are your opinions about this issue? >=20 > >7.3.1(4) says that the Value component should be visible at that point.= =20 > >This is a compiler bug. >=20 > Humm, I'm not sure that GNAT is wrong here. There is a long tradition of= =20 > tests where you might thing components would be available but are not. My recollection is that those cases involve multiple derivations where type= T1 is declared in a Parent package, type extension T2 is derived from T1 i= n a package that is not a child of Parent, and T3 is derived from T2 in a c= hild of Parent; although normally the private part and body of Parent.Child= would be able to see the private part of Parent, there were some language = issues because of the type T2 in the middle, which couldn't inherit all the= operations from T1 because they weren't visible at any place. Yannick's e= xample doesn't involve that, so this case shouldn't be as messy. -- Adam