https://issues.dlang.org/show_bug.cgi?id=12737
Jonathan M Davis <jmdavisp...@gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |jmdavisp...@gmx.com Resolution|--- |INVALID --- Comment #1 from Jonathan M Davis <jmdavisp...@gmx.com> --- No, this isn't a bug in the compiler, and it doesn't have anything to do with static constructors. It's a bug in your code. This would fail to compile with the same error: class A { this(int a) { } } class B : A { } void main() { auto n = new B(); } The problem is that B's constructor must call A's constructor, but a compiler-generated default constructor (which is all B is going to have, because you didn't declare one for it) can only call default constructors for its base class, and A doesn't have one. It has a constructor which takes an int. So, you have to either add a default constructor to A or add an explicit default constructor to B which calls A's constructor with an int of whatever value would be appropriate. --