1package test_image_p is 2 type type1 is tagged private; 3 type type3 is limited private; 4 type type5 is tagged limited private; 5 type a_type5_class is access all type5'Class; 6 task type task_t (arg : access type3) is 7 entry entry1; 8 end task_t; 9 function to_type1 (arg1 : in Integer) return type1; 10private 11 type array_t is array (Positive range <>) of type1; 12 type array_t2 is array (1 .. 3) of Boolean; 13 type type1 is tagged record 14 f2 : array_t2; 15 end record; 16 type type3 is limited record 17 the_task : aliased task_t (type3'Access); 18 the_array : array_t (1 .. 10) := (others => to_type1 (-1)); 19 end record; 20 type type5 is tagged limited record 21 f3 : type3; 22 end record; 23end; 24