Why has base class protection been deprecated?

Don Clugston dac at nospam.com
Tue Apr 24 06:24:40 PDT 2012


On 24/04/12 14:22, David Bryant wrote:
> With the dmd 2.059 I have started getting the error 'use of base class
> protection is deprecated' when I try to implement an interface with
> private visibility, ie:
>
> interface Interface { }
>
> class Class : private Interface { }
>
> $ dmd test.d
> test.d(4): use of base class protection is deprecated
>
> This bothers me for two reasons: firstly it's not a base class, and
> secondly, it's a standard OO pattern of mine.
>
> What's up with this?
>
> Thanks,
> Dave

Because it doesn't make sense. All classes are derived from Object. That 
_has_ to be public, otherwise things like == wouldn't work.

Previously, the compiler used to allow base class protection, but it 
ignored it.


More information about the Digitalmars-d-learn mailing list