On Saturday, 7 February 2015 at 15:04:52 UTC, Iain Buclaw wrote:
a0.ptr == a1.ptr // false, enforced by compiler. Comparison not actuallyemitted.
I don't think that's a viable option. It would lead to completely unintuitive behavior like the following:
--- bool isEqual(T)(T a, T b) { return a == b; } int[0] a0; int[1] a1; assert(a0.ptr != a1.ptr); assert(isEqual(a0.ptr, a1.ptr)); --- David