https://issues.dlang.org/show_bug.cgi?id=10562
--- Comment #2 from Ali Cehreli <acehr...@yahoo.com> --- I looked a little bit at function 'visit(AssignExp exp)' inside dmd/src/dmd/expressionsem.d. I think this is related to the fact that a static array initialization's left-hand expression treated as a dynamic array. This is evident in the following error message: int[3][2][1] arr = 1.5; // Error: cannot implicitly convert expression `1.5` of type `double` to `int[]` Note how the error message says int[] instead of int[3][2][1]. I suspect this is a bug due to code reuse in implementation. --