Preparing for the New DIP Process

FairEnough FairEnough at gmail.com
Sat Jan 27 02:12:25 UTC 2024


On Monday, 22 January 2024 at 22:59:17 UTC, Walter Bright wrote:
>
> ...
> C++ private isn't private, const isn't constant, and one can 
> throw from nothrow functions.
>

But that, vI assume you mean that in C++ you can return 
pointers/references to private mutable class members, and 
therefore 'private isn't private'.

If that is what you're referring to, then that does not negate 
the value of class private members in C++.

Nor is it argument against an option for class private members 
*within* a module, in D.

There is only 1 valid argument against introducing an option for 
module level class private members in D. And that is, a 
programmer (as in all programmers who use D) should never need to 
control the visibility of a class types mutable state to other 
code in the same module (including unittests).

But is that true?

I mean either it is, or it isn't.

The option presented, i.e. to put the class type in a module by 
itself, does not answer this question (since there is no other 
code in the module).

Any answer to this question has to take into account the other 
code in the module.



More information about the Digitalmars-d-announce mailing list