On Thu, 19 Nov 2015 07:28:28 +0100, anonymous wrote: > On 19.11.2015 06:18, Chris Wright wrote: >> Just for fun, is an array ever not equal to itself? > > Yes, when it contains an element that's not equal to itself, e.g. NaN.
Exactly. If NaN-like cases didn't exist, TypeInfo_Array could have an optimization: if the pointers and lengths of its inputs were both equal, the arrays are equal. But adding this optimization would result in problematic behavior. Specifically: auto a = [float.nan]; assert(a == a); // passes under proposed optimization, fails now assert(a == a.dup); // fails under proposed optimization, fails now