G.P. Generic Packages - JulTob/Ada GitHub Wiki

Upon instantiation, Ada generic data are duplicated;

generic type T is private;
package Gen is
   type C is tagged record
      V : T;
    end record;
    G : Integer;
   end Gen;
declare
  package I1 is new Gen (Integer);
  package I2 is new Gen (Integer);
  subtype Str10 is String (1..10);
  package I3 is new Gen (Str10);
    begin
    I1.G := 0;
    I2.G := 1;
    I3.G := 2;
    end;