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