https://issues.dlang.org/show_bug.cgi?id=12932 --- Comment #5 from bearophile_hugs at eml.cc --- A better example: struct F { int x; } void main() @nogc { foreach ( a; [[1]]) {} // Error foreach (int[1] a; [[1]]) {} // Error foreach ( a; [F(1)]) {} // OK } --