import std.stdio; struct S { int[1] get() { return x; } private int[1] x; } void main() { S s; writeln(s.get()[0]);//This line crashes dmd2 } Dmd 2.047 produces the following message: Internal error: ../ztc/cod2.c 4333 It seems that the compiler works properly when the array size is larger than 2. Dynamic arrays also work well. I tried a workaround like this. auto x = s.get()[0]; writeln(x);//This line crashes the compiler However, this cannot fix the problem. The last line crashes the compiler. Same message is produced by the code.
*** This issue has been marked as a duplicate of issue 4414 ***