Did you know that the following will automatically work with TDictionary:
type
TMyKey = record
public
class operator Equal(const A, B: TMyKey): Boolean;
function GetHashCode: Integer;
end;
Without the need to write custom equality comparer. At least in Delphi 12 it works. And System.TypeIfo unit contains GetRecCompareAddrs function, which is used in default equality comparer implementation. I realized it only recently, and see no docs/info on the internet.