On Thursday, 22 October 2015 at 17:01:55 UTC, Jeffery wrote:
... (I don't see how wrapping breaks encapsulation, in fact, it adds another layer of encapsulation, which isn't breaking it, is it?)


The work argument was my whole point though. If the compiler internally wrapped all unwrapped members(easy to do as it is just a simple forwarding proxy) and D itself can do this with just a few lines of code and opDispatch, there is little work the programmer actually has to do.

The issue about private wrapping is moot as I mentioned about all members being public in the examples. I should have stated that in general. Obviously wrapping private members wouldn't render the "private" meaningless.

I did not argue that it's a lot of work - I argue that getting the compiler to do that for you is a bad idea. The point of encapsulation is that you make a concise choice of which members to wrap and how to wrap them. The compiler can't make these design choices, so if the wrapping is done automatically by the compiler it'll simply wrap everything in a straightforward manner, and you miss the whole point of the encapsulation.

Reply via email to