1package Incomplete3 is
2
3   type Output_T;
4   type Output_T is abstract tagged private;
5
6   type Tracer_T is tagged private;
7
8   function Get_Tracer (This : access Output_T'Class) return Tracer_T'class;
9
10   function Get_Output (This : in Tracer_T) return access Output_T'Class;
11
12private
13
14   type Output_T is abstract tagged record
15      B : Boolean := True;
16   end record;
17
18   type Tracer_T is tagged record
19      Output : access Output_T'Class := null;
20   end record;
21
22end Incomplete3;
23