[Issue 14269] Enum is not implicitly converted to base type when using ref

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Mar 10 05:20:05 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=14269

--- Comment #7 from Dicebot <public at dicebot.lv> ---
> "For the stability, we have to defer to fix bug by adding deprecation stage"

Yes, unless it compromises program correctness (memory corruption, wrong
codegen etc). It is a normal practice in majority of established languages I am
aware of. There are several reasons for such conservative approach:

1) make possible to use critical fixes immediately without scheduling time for
addressing minor ones
2) make possible to use new version even if dependencies have not been updated
(and are out of your control)
3) give easy quick estimate of what full upgrade will take effort-wise

It all evolves around the idea of introducing time gap when everyone becomes
aware of the issue but is not yet forces to address it immediately to use the
compiler.

For example, our internal D codebase consists from dozens of different projects
with independent maintainers and complicated dependency chains. Any breaking
change means that upgrade effort needs to be done in sync between all those
projects, taking away time from possibly urgent business matters (and it is
almost impossible to find a single moment when none of projects has any urgent
matters). Breaking fix needs to address a very serious problem to be viewed as
worth such trouble among the developers.

Adding deprecation stage allows everyone to switch to new compiler with minor
effort and address all deprecation messages on per-project basis as schedule
for this specific project allows.

I foresee this becoming a major issue once our D2 usage leaves experimental
stage - this is why I am starting to make so much fuss early. I am very sorry
if this sounds overly demanding but current state of affairs is really
problematic.

--


More information about the Digitalmars-d-bugs mailing list