What requires a DIP?
Steven Schveighoffer
schveiguy at gmail.com
Fri May 5 15:10:12 UTC 2023
On 5/5/23 10:28 AM, Quirin Schroll wrote:
> My sense was that, informally:
> * Any change that necessitates potentially real-world breakage needs a DIP.
Not *necessarily*. If this is a bug fix, then it may not need a DIP.
Especially if a deprecation can help people migrate their code.
> * Mere additions need a DIP if they introduce a new language feature.
"language feature" is pretty broad. If, for example, you want to add a
new property/function that can be used on an associative array, then it
might be OK to add without a DIP. But these are judgment calls that
probably need someone higher up to make.
> * Even small additions need a DIP if they require justification in terms
> of cost–benefit ratio, with cost both in terms of initial implementation
> and long-term maintenance.
Yeah.... Again, judgment calls from others can help.
What I'd recommend is to propose the change here, see what people say,
and then if it's agreed that a DIP is required, start the process.
Writing and successfully navigating a DIP through the process isn't
trivial, and it sucks to do it and have someone say it wasn't necessary,
or that it had no chance of succeeding.
-Steve
More information about the Digitalmars-d
mailing list