Module-level accessibility
Steven Schveighoffer
schveiguy at yahoo.com
Mon Oct 4 11:26:17 PDT 2010
On Mon, 04 Oct 2010 14:13:52 -0400, Jonathan M Davis <jmdavisProg at gmx.com>
wrote:
> On Monday, October 04, 2010 10:37:53 Sean Kelly wrote:
>> Andrei Alexandrescu Wrote:
>> > There is still debate on the matter of private methods in interfaces.
>> > Please bring up in this forum any additional pro and con arguments
>> that
>> > you might have.
>>
>> What debate? Private methods don't get a vtbl entry so I don't see how
>> an
>> interface could possibly require one, regardless of in-module
>> visibility.
>
> Except that per TDPL private methods are _supposed_ to be in the vtable:
> http://d.puremagic.com/issues/show_bug.cgi?id=4542
>
> The fact that they don't currently is definitely limiting. Personally, I
> liked
> what TDPL said about interfaces and private methods, and I don't know
> what the
> debate against them is. It all seemed quite sensible to me.
>
> Regardless, however, private methods really should be properly
> polymorphic.
What possible use case could private methods being polymorphic allow?
A private method can only be called by the class that contains the
implementation. Allowing base classes to call it makes no sense.
Make the method protected, it gives the desired effect (including for the
example in the bug report as stated by the original reporter).
-Steve
More information about the Digitalmars-d
mailing list