On 7/08/10 4:33 PM, simendsjo wrote:
Is the following equalent?int[] a; int[] b = a; assert(a is b); assert(a.ptr == b.ptr);
No. (a is b) implies (a.ptr == b.ptr) but (a.ptr == b.ptr) does not imply (a is b) For example: int[] a = [1, 2, 3]; int[] b = a[0..1]; Here, a.ptr == b.ptr, but a !is b.The ptr property returns a pointer to the first element, which is true in this case, but it doesn't mean that they both refer to the same range.