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.

--

Reply via email to