1with Array16_Pkg; 2 3package Array16 is 4 5 type T1 (D : Integer) is record 6 case D is 7 when 1 => I : Integer; 8 when others => null; 9 end case; 10 end record; 11 12 type Arr is array (Integer range <>) of Integer; 13 14 type My_T1 is new T1 (Array16_Pkg.N); 15 type My_T2 is new Arr (1 .. Integer'Min (2, Array16_Pkg.N)); 16 17 function F1 (A : access My_T1) return My_T1; 18 pragma Inline (F1); 19 20 function F2 (A : access My_T2) return My_T2; 21 pragma Inline (F2); 22 23 procedure Proc (A : access My_T1; B : access My_T2); 24 25end Array16; 26