private method in interface

Jonathan M Davis jmdavisProg at gmx.com
Thu Jun 2 14:36:51 PDT 2011


On 2011-06-02 12:59, Michael Shulman wrote:
> On Thu, Jun 2, 2011 at 12:20 PM, Jonathan M Davis <jmdavisProg at gmx.com> 
wrote:
> > http://d.puremagic.com/issues/show_bug.cgi?id=4542
> > http://d.puremagic.com/issues/show_bug.cgi?id=2051
> 
> Thank you! I think this answers my question completely; I just need
> to change "private" to "protected". Is there a place on the web
> recording "errata" of this sort for TDPL?

http://erdani.com/tdpl/errata/index.php?title=Main_Page
 
> Here is a related question which puzzles me, from reading
> http://d-programming-language.org/function.html#virtual-functions
> What is the difference between "private" and "final private"?

At present, there is no difference between a member function which is private 
and one which is final private. All private functions are non-virtual and are 
not overridable. So, final does nothing. If/When dmd is updated to match TDPL 
and make private functions virtual and overridable, then private functions 
_will_ be virtual and overridable, and final will be required in order to make 
them non-overridable again (and assuming that the private function in question 
does not override a private funtion from a base class, the compiler should be 
able to optimize it so that it's non-virtual just like private currently is).

But for now, putting final on a private function does nothing.

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list