Is it a bug that a parent class that access its own private members from derived classes gets deprecation warning?

Steven Schveighoffer schveiguy at yahoo.com
Mon Jun 11 15:41:57 UTC 2018


On 4/11/18 3:13 PM, bauss wrote:
> On Wednesday, 11 April 2018 at 17:58:25 UTC, Jonathan M Davis wrote:
>> On Sunday, April 08, 2018 13:00:02 bauss via Digitalmars-d wrote:
>>> [...]
>>
>> I don't know. It could be argued either way. I think that the logic as 
>> to why
>>
>> [...]
> 
> The thing is, it makes no sense why it shouldn't be legal since you can 
> just cast to the base type, by that alone you're escaping the 
> restriction that it's supposed to have.
> 
> And it really goes against that private is module level.
> 
> If it was module level then you should be able to access the member 
> regardless of the reference to it.

Just going through old messages on the NG.

I filed a bug about a similar thing (calling private functions instead 
of using private variables), but it seemed to be agreed upon that this 
is expected behavior:

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

You may find some more insight from reading that discussion. I don't 
agree with the conclusion, as it is very surprising behavior to me.

-Steve


More information about the Digitalmars-d mailing list