with Ada.Finalization; package Access8_Pkg is type Discriminant is record Component : Integer := 6; end record; type Object (D : access Discriminant) is tagged limited private; function Get return Object; function Get_Access return access Object; private type Object (D : access Discriminant) is new Ada.Finalization.Limited_Controlled with null record; overriding procedure Initialize (O : in out Object); overriding procedure Finalize (O : in out Object); end;