dmd 0.149,Win stops compiling without messsage if number of statements is too large. void init1(){} void init2(){ init1(); // ... 16,000 times -> stops // only 8,000 times -> compiles init1(); } void init3(){} The effect can be seen with the -v option, because init4 does not get code generated