Feedback Thread: DIP 1042--ProtoObject--Community Review Round 1
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:
> 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
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
than providing a clean and flexible alternative.
More information about the Digitalmars-d