"this" is treated as an lvalue. For classes, it should be an rvalue. In particular, the following absurdity compiles in v1.063 and v.2.047 but should not. class Yikes { int i; this() { this = null; } } void main() { auto y = new Yikes(); } See also discussion at http://www.digitalmars.com/d/archives/digitalmars/D/this_as_lvalue_116836.html
*** This issue has been marked as a duplicate of issue 780 ***