It's worse than I thought. This compiles and runs, both in D2.007 and in D2.008 void main() { const(int) ci = 1; invariant(int) ii = 2; ++ci; ++ii; } It is now becoming quite clear that the "const mess" is very much still with us, and this sort of thing really doesn't help D at all.