Es kompiliert, aber das ist sicher nicht was er will. Das vergleicht doch nur die Adressen einer Variable mit der Adresse einer Routine im Code-Bereich deiner Anwendung.
Hast du das mal ausprobiert? Es müsste doch dann "Es sind die gleichen" ausgegeben werden, oder?
Delphi-Quellcode:
program Project5;
{$APPTYPE CONSOLE}
{$R *.res}
uses System.Generics.Defaults;
function someComparison(const left, right: Integer): Integer;
begin
Result := 42;
end;
var
myComparison: TComparison<Integer>;
begin
myComparison := someComparison;
if (@myComparison = @someComparison) then
WriteLn('Es sind die gleichen');
end.