31 lines
675 B
Ada
31 lines
675 B
Ada
package Limited3_Pkg is
|
|
|
|
type Limited_Rec is limited
|
|
null record;
|
|
|
|
type Var_Rec (X : Integer) is record
|
|
Name : String (1 .. X);
|
|
Tag : Limited_Rec;
|
|
end record;
|
|
|
|
type Rec (D : Boolean := True) is record
|
|
case D is
|
|
when True => L : Limited_Rec;
|
|
when False => I : Integer;
|
|
end case;
|
|
end record;
|
|
|
|
function F (I : Integer) return Rec;
|
|
|
|
function FS (X : Integer) return Var_Rec;
|
|
|
|
type Rec2 (D : Boolean := True) is record
|
|
case D is
|
|
when True => L : access Limited_Rec;
|
|
when False => I : Integer;
|
|
end case;
|
|
end record;
|
|
|
|
function F2 (I : Integer) return Rec2;
|
|
end Limited3_Pkg;
|