DMD v2.030 on WinXP 32bit. Intel Pentium M. dmd FLAGS contr.d -ofcontr.o dmd FLAGS expr.d -ofexpr.o dmd FLAGS hello.d -ofhello.o In debug mode: FLAGS = -c -w -g -debug => dmd -c -w -g -debug ... DMD shows error messages at the in{} contract block. Line 116 file expr.d. If i comment out the contract block. It compiles OK. In release mode: FLAGS = -c -w -O -inline -release => dmd -c -w -O -inline -release ... DMD shows error messages at the in{} contract block. If i comment out the contract block. It shows some weird error messages. If i remove '-release' (still comment out contract block), It compiles OK. 3 files attached are test case. The contr.d is the trigger for weird error message. If you omit it, the bug disappear.
Created attachment 405 [details] Test case source code.
I've re-tested with dmd v2.033: the bug disappeared.