DIP22 : Private symbol visibility
Dmitry Olshansky
dmitry.olsh at gmail.com
Fri Feb 1 01:59:34 PST 2013
01-Feb-2013 13:34, Dicebot пишет:
> On Wednesday, 30 January 2013 at 11:39:26 UTC, Timon Gehr wrote:
>> On 01/30/2013 10:42 AM, Dicebot wrote:
>>> ...
>>> That was the most uneasy part of proposal. I have been thinking for few
>>> hours about it, considering different options. In the end, I have
>>> decided that it is only confusing to one coming from C++ lax approach
>>> and for clean mind it should make perfect sense that private symbol is
>>> indistinguishable from non-existing one in regular user code - that is
>>> the point of encapsulation how I get it.
>>> ...
>>
>> As long as compile-time reflection cannot get hold of the error
>> message, the more helpful diagnostic does not do any harm. (After all,
>> the programmer might still be aware of the existence of the member,
>> but missing that it is not accessible (yet) from the module he/she is
>> currently working on.)
>
> I am arguing exactly that it is more helpful as it somewhat breaks
> encapsulation. I really believe it is good to not give out information
> that was no supposed to be shown. What do you think about changing both
> undefined and denied access messages to one "symbol is undefined or
> inaccessible" then?
just tell what it is: not visible, period!
And BTW good dip, the first part.
The second about internal (C's static) is up for more work.
--
Dmitry Olshansky
More information about the Digitalmars-d-announce
mailing list