comp.lang.ada
 help / color / mirror / Atom feed
From: Jacob Sparre Andersen <jacob@jacob-sparre.dk>
Subject: Re: Generic private type declaration
Date: Sat, 26 Nov 2016 09:45:32 +0100
Date: 2016-11-26T09:45:32+01:00	[thread overview]
Message-ID: <877f7qy6hf.fsf@adaheads.sparre-andersen.dk> (raw)
In-Reply-To: o19sod$ug2$1@dont-email.me

Alejandro R. Mosteo wrote:

> I need some eyes on this error because I'm missing something
> basic. When compiling this code:
>
> procedure B001_Tagged is
>
>    generic
>       type X is private;
>    package Untagged is
>
>       type Y is new X;
>
>    end Untagged;
>
>    package Ok is new Untagged (Integer);
>
>    type Void is tagged null record;
>
>    package Err is new Untagged (Void); --  Error here
>
> begin
>    null;
> end B001_Tagged;
>
> I get in both gnat 4.9.3 and gpl2016 the following error:
>
> b001_tagged.adb:15:04: instantiation error at line 7
> b001_tagged.adb:15:04: type derived from tagged type must have extension
> gnatmake: "b001_tagged.adb" compilation error
>
> I would expect that the view inside the generic package is untagged
> and so the type renaming in line 7 should be correct?

I agree with your expectation.

I suspect that this is an error due to how GNAT expands generics.  It
might be useful to try to see how Janus/Ada and ICC/Ada treats it.  If I
remember correctly, Janus/Ada implements generics differently from GNAT.

Greetings,

Jacob
-- 
"... but I don't think even Tucker can do scheduling with no cost."
                                                  -- Randy Brukardt


  parent reply	other threads:[~2016-11-26  8:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-25 17:36 Generic private type declaration Alejandro R. Mosteo
2016-11-25 19:17 ` Dmitry A. Kazakov
2016-11-28 14:54   ` Alejandro R. Mosteo
2016-11-25 19:18 ` AdaMagica
2016-11-28 14:57   ` Alejandro R. Mosteo
2016-11-25 19:38 ` G.B.
2016-11-26  8:45 ` Jacob Sparre Andersen [this message]
2016-11-26 19:18   ` Tero Koskinen
2016-11-28 15:05     ` Alejandro R. Mosteo
2016-11-28 21:32       ` Randy Brukardt
2016-11-29 11:12         ` Alejandro R. Mosteo
2016-11-29 11:42         ` Dmitry A. Kazakov
2016-11-29 23:48           ` Randy Brukardt
2016-11-28 23:25 ` Robert Eachus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox