[Dlang-internal] Regression control & breaking changes policies

Dicebot via Dlang-internal dlang-internal at puremagic.com
Tue Dec 6 17:54:18 PST 2016


On 12/05/2016 03:10 AM, Walter Bright wrote:
> The table makes sense and looks right. But there's a problem with the
> return scope changes. It's just too much to just wholesale deprecate
> things all at once.

It will need to happen at some point anyway. Without having those
deprecation implemented we can't even know how much existing code is
affected.

> People need time to ease into it, not be faced with
> a pile of diverse deprecation messages.

We can introduce `-preview=XXX` flag for that purpose but the key thing
is that it still has to use deprecations and not errors for all scope
related changes. Otherwise you introduce dangerous disparity between
what gets previewed and what will eventually become the default.

> Having -transition=safe makes that practical, and also ensures time to
> correct any unrecognized issues with it.

1) `-transition` flag is not for this purpose. You want this behavior -
please introduce new flag group, for example `-preview=scope`. Desire is
legit but you have to use a different flag for such purpose.

2) You must not use the very same flag for bug fixes as an excuse to not
bother of deprecations. https://github.com/dlang/dmd/pull/6290 is the
last one remaining now there was no justification to merge it in first
place.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/dlang-internal/attachments/20161207/fb8dd74b/attachment.sig>


More information about the Dlang-internal mailing list