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

Reply via email to