program tgeneric18; {$mode objfpc}{$H+} type { TFirstGeneric } generic TFirstGeneric = class(TObject) end; { TSecondGeneric } generic TSecondGeneric = class(TObject) type public TFirstGenericType = specialize TFirstGeneric; end; var Second: specialize TSecondGeneric; begin end.