Current code: https://github.com/dlang/druntime/blob/b4209f33e7705a58d101e5ba906bfa5d10799faa/src/object.d#L918-L934 --- override int compare(in void* p1, in void* p2) const { void[] a1 = *cast(void[]*)p1; void[] a2 = *cast(void[]*)p2; // ... return cast(int)a1.length - cast(int)a2.length; } --
@n8sh created dlang/druntime pull request #3450 "TypeInfo_Array.compare can give wrong result when either array exceeds 2GB" fixing this issue: - Fix 21857: TypeInfo_Array.compare can give wrong result when either array exceeds 2GB https://github.com/dlang/druntime/pull/3450
dlang/druntime pull request #3450 "TypeInfo_Array.compare can give wrong result when either array exceeds 2GB" was merged into stable: - 93741516a95e8d1a76290c94a7dd9d608d2660b0 by Nathan Sashihara: Fix 21857: TypeInfo_Array.compare can give wrong result when either array exceeds 2GB https://github.com/dlang/druntime/pull/3450
dlang/druntime pull request #3468 "merge stable" was merged into master: - e70d111cda2c8009028a985c9ef383b8f759af32 by Nathan Sashihara: Fix 21857: TypeInfo_Array.compare can give wrong result when either array exceeds 2GB https://github.com/dlang/druntime/pull/3468