1with Ada.Tags.Generic_Dispatching_Constructor; 2 3package Generic_Disp_Pkg is 4 type Iface is interface; 5 function Constructor (I : not null access Integer) return Iface is abstract; 6 function Dispatching_Constructor 7 is new Ada.Tags.Generic_Dispatching_Constructor 8 (T => Iface, 9 Parameters => Integer, 10 Constructor => Constructor); 11 type DT is new Iface with null record; 12 overriding 13 function Constructor (I : not null access Integer) return DT; 14end Generic_Disp_Pkg; 15