class C { void foo() pure out { } body { } } class D : C { override void foo() pure { } } --- main.d(8): Error: pure function 'main.D.foo' cannot call impure function 'main.C.foo.__ensure' ---
https://github.com/D-Programming-Language/dmd/pull/2282
https://github.com/dlang/dmd/pull/2516