pragma Restrictions (No_Abort_Statements); pragma Restrictions (Max_Asynchronous_Select_Nesting => 0); with Ada.Finalization; with System.Atomic_Counters; package Opt75_Pkg is type Rec is record Counter : System.Atomic_Counters.Atomic_Counter; end record; type Rec_Ptr is access all Rec; Empty_Rec : aliased Rec; type T is new Ada.Finalization.Controlled with record Ref : Rec_Ptr := Empty_Rec'Access; end record; overriding procedure Adjust (Object : in out T); Empty : constant T := (Ada.Finalization.Controlled with Ref => Empty_Rec'Access); type Arr is array (Integer range 1 .. 8, Integer range 1 .. 4) of T; end Opt75_Pkg;