1with Generic_Inst2_C;
2
3package Generic_Inst2 is
4   type T is private;
5   procedure Foo (X : not null access T);
6   package CI is new Generic_Inst2_C (T, Foo => Foo);
7private
8   type S is access Integer;
9   type T is new S;
10end;
11