reduced down to this subset of the file: ==================== struct S { int x; } int badfoo2(){ S[] c; c[7].x=6; // uninitialized error return 7; } template Compileable(int z) { bool OK;} static assert(!is(typeof(Compileable!(badfoo2()).OK))); int main() { return 0; } ====================