Regarding "Removing limitations", I'd like this to compile with no need to write a constructor: struct Foo { int x; } void main() { auto f = new Foo(1); } In DMD 2.054 this gives: test.d(3): Error: no constructor for Foo
This works as of v2.065.