comp.lang.ada
 help / color / mirror / Atom feed
* Discriminant & interface not implemented by full type
@ 2009-03-09 17:21 Reto Buerki
  2009-03-12  1:44 ` Adam Beneschan
  2009-03-12  6:21 ` Per Sandberg
  0 siblings, 2 replies; 4+ messages in thread
From: Reto Buerki @ 2009-03-09 17:21 UTC (permalink / raw)


Hi everyone,

I have the following simple test application:

package Full_View is

   type Base_Type (Num : Integer) is tagged private;

   type Base_Interface is interface;

   type New_Type is new Base_Type (Num => 11) and
     Base_Interface with private;

private
   type Base_Type (Num : Integer) is tagged record
      My_Number : Integer := Num;
   end record;

   type New_Type is new Base_Type (Num => 11) and
     Base_Interface with null record;

end Full_View;

Trying to compile this with gnat gcc 4.3 in Debian/Lenny results in the
following error:
full_view.ads:7:09: interface "Base_Interface" not implemented by full
type (RM-2005 7.3 (7.3/2))

When removing the (Num => 11) discrimant initialization or the
Base_Interface interface from the New_Type type extension, the code
compiles fine.

Is this a compiler bug? Seems to me that the consistency check of the
partial and full view of a tagged type covering interfaces does not like
discriminants.

Thanks for your help.
- reto



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-03-12 13:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-09 17:21 Discriminant & interface not implemented by full type Reto Buerki
2009-03-12  1:44 ` Adam Beneschan
2009-03-12  6:21 ` Per Sandberg
2009-03-12 13:07   ` Reto Buerki

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