Feedback Thread: DIP 1042--ProtoObject--Community Review Round 1

RazvanN razvan.nitu1305 at gmail.com
Tue Jan 11 12:43:34 UTC 2022


On Monday, 10 January 2022 at 17:09:59 UTC, Adam D Ruppe wrote:
> This DIP is built from flawed analysis and provides a flawed 
> solution that fails to fix the original problem and creates 
> problems of its own. I went into detail in the pull request 
> thread, so I won't repeat it all, but let me post something 
> stronger than words:
>
> https://github.com/dlang/druntime/pull/3665
>
> There's no need to add anything nor break anything in druntime 
> over attributes.
>
> The monitor is a bit different, but a standard deprecation path 
> could migrate that to opt-in composition. The DIP doesn't even 
> acknowledge this possibility.

Whatever we will modify in Object is going to be a breaking 
change.
A change of this magnitude would impose a version bump of the
language (let's not discuss here if that is desirable or not, but,
such changes come with large overhead in terms of migration).

ProtoObject, however, provides a less disruptive alternative where
users can just opt-in. If you want to get rid of the unnecessary
bloat of Object, fine, you can just inherit ProtoObject; if you
are fine with using Object you can continue doing that. We end
up with having the best of both worlds, depending on one's need.

I fail to see how deprecating and breaking code is a better 
alternative
than providing a clean and flexible alternative.


More information about the Digitalmars-d mailing list