| 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; |