{ %NORUN } { additional test based on 21064 } program tgeneric79; {$mode objfpc} type generic IGenericIntf = interface function SomeMethod: T; end; generic TGenericClass = class(TInterfacedObject, specialize IGenericIntf) private protected function GenericIntf_SomeMethod: LongInt; function specialize IGenericIntf.SomeMethod = GenericIntf_SomeMethod; end; function TGenericClass.GenericIntf_SomeMethod: LongInt; begin end; type TGenericClassLongInt = specialize TGenericClass; begin end.