Anonymous classes should pass through super ctors, if no ctor is given. class C { this( int i ){ .... } abstract void run(); // ... } auto c = new class(3) C { this( int a ){ super(a); } //<-- this line should not be necessary. void run(){} };