https://issues.dlang.org/show_bug.cgi?id=3396

Stewart Gordon <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |---

--- Comment #4 from Stewart Gordon <[email protected]> ---
(In reply to Denis Shelomovskij from comment #3)
> This is a documented and intended behavior. According to [1]:
>> Functions declared as abstract can still have function bodies.  

But A.M has no function body.  So what's the relevance?

>> This is so that even though they must be overridden, they can 
>> still provide ‘base class functionality.’

But no base class functionality has been provided.  As such, the compiler
cannot resolve the call to super.M and therefore should error.

> It also maches C++ behavior with respect to pure virtual functions.

What exactly does the C++ standard say about this?

That said, is C++ behaviour relevant?  D is not C++.

--

Reply via email to