Update concepts branch to revision 131834
[official-gcc.git] / gcc / testsuite / gnat.dg / abstract1.ads
blobbad9ee69874bcbcf9c478fdb16f32d330ec29a8b
1 with Ada.Streams; use Ada.Streams;
2 package abstract1 is
3 type T is abstract tagged limited null record;
4 function Input (Stream : not null access Root_Stream_Type'Class) return T
5 is abstract;
7 function New_T (Stream : not null access Root_Stream_Type'Class)
8 return T'Class;
10 type IT is limited new T with record
11 I : Integer;
12 end record;
13 function Input (Stream : not null access Root_Stream_Type'Class) return IT;
15 type FT is limited new T with record
16 F : Float;
17 end record;
18 function Input (Stream : not null access Root_Stream_Type'Class) return FT;
19 end abstract1;