1package Discr46 is 2 3 type Enum is (One, Two, Three); 4 for Enum use (One => 1, Two => 2, Three => 3); 5 6 type Rec1 (D : Boolean := False) is record 7 case D is 8 when False => null; 9 when True => T : Integer; 10 end case; 11 end record; 12 13 type Rec2 is record 14 R : Rec1; 15 C : Character; 16 end record; 17 18 type Arr is array (Enum) of Rec2; 19 20 A : Arr; 21 22 function F (Id : Enum) return Integer; 23 24end Discr46; 25