1package Limited3_Pkg is 2 3 type Limited_Rec is limited 4 null record; 5 6 type Var_Rec (X : Integer) is record 7 Name : String (1 .. X); 8 Tag : Limited_Rec; 9 end record; 10 11 type Rec (D : Boolean := True) is record 12 case D is 13 when True => L : Limited_Rec; 14 when False => I : Integer; 15 end case; 16 end record; 17 18 function F (I : Integer) return Rec; 19 20 function FS (X : Integer) return Var_Rec; 21 22 type Rec2 (D : Boolean := True) is record 23 case D is 24 when True => L : access Limited_Rec; 25 when False => I : Integer; 26 end case; 27 end record; 28 29 function F2 (I : Integer) return Rec2; 30end Limited3_Pkg; 31