{ %FAIL }

{$MODE DELPHI}

type
  TWrapper<T> = record
    procedure Z(a: TWrapper);
      { TWrapper is an unspecialized generic type identifier and should not be
        accepted here }
  end;

procedure TWrapper<T>.Z(a: TWrapper);
begin
end;

var
  wr: TWrapper<Integer>;

begin
  wr.Z(wr);
end.