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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,de13c8b74c430de7 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-15 17:52:52 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fu-berlin.de!uni-berlin.de!ppp-1-25.cvx1.telinco.NET!not-for-mail From: "Nick Roberts" Newsgroups: comp.lang.ada Subject: Re: Inner generic package derivation Date: Fri, 16 Nov 2001 01:54:28 -0000 Message-ID: <9t1rhi$165feh$1@ID-25716.news.dfncis.de> References: <9t1lp3$16unne$2@ID-25716.news.dfncis.de> NNTP-Posting-Host: ppp-1-25.cvx1.telinco.net (212.1.136.25) X-Trace: fu-berlin.de 1005875571 40025553 212.1.136.25 (16 [25716]) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Xref: archiver1.google.com comp.lang.ada:16606 Date: 2001-11-16T01:54:28+00:00 List-Id: Thanks, Matt. However, I also want to know: (a) exactly what combination of rules in the RM95 enforce it; (b) why. -- Best wishes, Nick Roberts "Matthew Heaney" wrote in message news:tv8nulpg5eni2c@corp.supernews.com... > > "Nick Roberts" wrote in message > news:9t1lp3$16unne$2@ID-25716.news.dfncis.de... > > premature derivation of derived or private type > > > > Is this a bug in: (a) GNAT; (b) the RM95; or (c) my brain? > > No, this is not a bug. You can't declare the full view of type U until > after the declaration of the full view of type T. > > That's why this is legal: > > package P is > type T is tagged private; > type NT is new T with private; > private > type T is tagged null record; > type NT is new T with null record; > end; > > and this is not legal: > > package P is > type T is tagged private; > type NT is new T with null record; > private > type T is tagged null record; > end;