I really think this used to work (like in C++) : #class Class {} #void main(){ # Class c; # assert(c); #} With 1.0, I get an access violation in _D9invariant12_d_invariantFC6ObjectZv, but why? I have to rewrite it as assert(c !is null), but I don't recall having to do this before.... L.