{ %FAIL } {$MODE DELPHI} type TWrapper = record procedure Z(a: TWrapper); { TWrapper is an unspecialized generic type identifier and should not be accepted here } end; procedure TWrapper.Z(a: TWrapper); begin end; var wr: TWrapper; begin wr.Z(wr); end.