https://issues.dlang.org/show_bug.cgi?id=3396
yebblies <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED CC| |[email protected] Resolution|--- |INVALID --- Comment #6 from yebblies <[email protected]> --- This code: abstract class A { abstract void M(); } could mean one of two things: 1. M is a pure virtual function 2. M provides 'base class functionality', but this is a di file so the body isn't present. The compiler makes the conservative assumption 2, because it has no way to tell which was intended. A quick test makes it look like additionally marking the base class function with @disable makes it impossible to call without breaking inheritance. --
