On 11/11/16 8:30 AM, Dicebot wrote:
On Friday, 11 November 2016 at 13:21:40 UTC, Nick Sabalausky wrote:
Run the new dmd. If it fails, either fix your code or go temporarily
go back to the old dmd until you can fix your code.
D will never be considered production ready as pong as this attiude
remaind. Your described scenario in practice works like this:
- You decide to delay fix until you have time to investigate
- Half of users of your library you (or your colleagues) complain that
they can't upgrade their projects because you areso slow
- You desperately find time to do required fix which proves bavkwards
- Now the other half of your users (colleagues) complain that your rush
to upgrade forces them to switch to immature compiler
If you remove cycles in your code, it will not flag cycles in the old
... or one can spend one extra hour to implement deprecation path and
the issue disappears completely.
There is a misunderstanding that the new cycle detection is an "upgrade"
of some kind. It's a bug fix.
There is a path to use new DMD with your buggy code, just use
--DRT-oncycle=ignore. It's just not the default.