E2522 Operator '%s' can not convert to/from ancestor type (Delphi)

From RAD Studio
Jump to: navigation, search

Go Up to Error and Warning Messages (Delphi)

This occurs when trying to convert from a generic type to the type restraint of that generic type.


program E2522;
{E2522 Operator '%s' can not convert to/from ancestor type}

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
TGenRec<T : record> = record
    InternalValue : T;
    class operator Implicit(value: TGenRec<T>): TGenRec<T>;
    class operator Implicit(value: TGenRec<T>): T; //E2522
  end;
begin

end.

See Also