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

David Gileadi gileadisNOSPM at
Tue Jan 11 14:29:28 UTC 2022

On 1/11/22 5:47 AM, RazvanN wrote:
> On Tuesday, 11 January 2022 at 12:35:33 UTC, Elronnd wrote:
>> If instead we make it so that Object is the empty root object, then 
>> more code will be broken, but it won't happen that a change in library 
>> Y can break library X (modulo templates, of course).
> I think that the fundamental idea here is that when the library owner
> switches from Object to ProtoObject that is a breaking change that should
> be advertised, because he is changing the API. The library owner should
> either release a new major version or provide the same utilies as Object.
> The idea here is that you do not know what your users are doing; even 
> without
> library X, the user can simply call toHash because Object used to have it.

If this change leads each of my dependencies to make breaking changes 
then its backwards compatibility story isn't great. This effect on users 
of third-party libraries should be called out in the DIP's Breaking 
Changes and Deprecations section.

More information about the Digitalmars-d mailing list