https://issues.dlang.org/show_bug.cgi?id=2525
--- Comment #14 from Martin Nowak <c...@dawg.eu> --- As a workaround one can redeclare the interface methods in the abstract class. ---- interface I { void foo(); } abstract class A : I { override void foo(); } class B : A { override void foo () {} } ---- Note that this bug and the workaround also applies to implicit abstract classes. ---- interface I { void foo(); } class A : I { abstract override void foo(); } class B : A { override void foo () {} } ---- --