Delphi Error – E2516 Constraint ‘%s’ is conflicting with previous constraints

Delphi Compiler Error

E2516 Constraint ‘%s’ is conflicting with previous constraints

Reason for the Error & Solution

This occurs when the type constraints are not compatible.

program E2516;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
   TGenericRecord<T:record, constructor> = record //E2516 Fix: use class instead of record in the type constraints.

   end;
begin
  Writeln('E2516 Constraint ''%s'' is conflicting with previous constraints');
end.