On Thursday, 17 May 2018 at 13:28:19 UTC, Steven Schveighoffer wrote:

Essentially, if you put your class you want "sealed" into it's own module, and then publicly import the module from the API module, you will get the same effect. This is even easier now with the package module than it used to be.

Fair enough. Now no OOP programmer has any need to take at look at D.

I can already do that in other, better known, better supported languages.

Indeed, i can put more than one class in a class file in those languages, and, I still get the guarantee of correctness at compile time.

What private currently does is rational and makes sense. It's not the same as all other languages, but it is the same as some of them. It's simply a preference, and D picked something different from what you like. There are things I would have picked differently than D also, but not much to be done about those choices at this point.


The other persepective is also rational, and makes sense.

I believe both perspectives could be accomodated, and at the same time without breaking anything, and without affecting in any way, the way people currently use the module.

The change would be completely blind to those people, until they choose to opt in to the change.

If D is at the point where change can no longer occured, it's over for D.

Reply via email to