Delphi Error – E2529 Type parameters not allowed on operator

Delphi Compiler Error

E2529 Type parameters not allowed on operator

Reason for the Error & Solution

This occurs when overloading the operator on a generic type.

program E2529;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TRec = record
  class operator Negative<T>(a: TRec):TRec;
   end;
class operator TRec.Negative<T>(a: TRec):TRec;

begin
  //
end;

begin
   Writeln('E2529 Type parameters not allowed on operator');
end.