1with Ada.Finalization;
2
3package Access8_Pkg is
4
5   type Discriminant is record
6      Component : Integer := 6;
7   end record;
8
9   type Object (D : access Discriminant)
10     is tagged limited private;
11
12   function Get return Object;
13   function Get_Access return access Object;
14private
15   type Object (D : access Discriminant)
16    is new Ada.Finalization.Limited_Controlled with null record;
17   overriding procedure Initialize (O : in out Object);
18   overriding procedure Finalize (O : in out Object);
19end;
20