We need an internal keyword.

Basile B. b2.temp at gmx.com
Sun Oct 21 15:18:48 UTC 2018


On Sunday, 21 October 2018 at 03:17:23 UTC, 12345swordy wrote:
> So that classes can share some of their variables but not 
> others in a module.
>
> IE.
>
> class A
> {
> internal int A; //This is shared in the module
> private int B; // But not this.
> }
>
> No need to reintroduce the "Friend" feature from cpp.

I partially agree because Object Pascal uses `strict private` for 
this. IIRC they needed at some point to make this for their 
Objective-C compatibility. I find it occasionally useful for 
example to enforce the usage of the getters method over their 
matching fields (if they do lazy update, lazy init, or such 
things). So far in D the way to do this is to put the stuff that 
has to be strictly private (or internal if you prefer) in a 
dedicated module.

This suggestion comes semi-regularly on the forum and last time 
it did, the whole topic got very unfriendly so while i partially 
agree i have to say that i don't really care. It's a small 
sympathetic feature, but i can live without.

Baz.


More information about the Digitalmars-d mailing list