The following snippet fails when compiled with -d flag. --- void main() { alias int* IntPtr; auto values = new IntPtr[3]; for(int i = 0; i < values.length; ++i) values[i] = new int; auto copies = new IntPtr[values.length]; copies[] = values; assert(values[1] == copies[1]); } --- As a result of the array operation the elements of "copies" are in fact equal to each other.
Something I forgot to add that it's a front end bug, because exactly the same is happening with ldc.
Also fails on DMD 2.059 Win32
fixed since v2.063 according to run.dlang.io