Delphi Compiler Error
E2512 Type parameter ‘%s’ must be a non-nullable value type
Reason for the Error & Solution
This occurs when using a nullable type inside a generic object type parameter.
program E2512;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TSimpleTypeGenericType<T: record> = record
end;
TMyClass = class
end;
var
MyObj: TSimpleTypeGenericType<TMyClass> ; //E2512
begin
end.