On Friday, 8 March 2013 at 20:33:20 UTC, Marco Leise wrote:
I don't know much about the development process, but as you
said some bugs may be features or vice versa. Sometimes real
bugs are fixed and peoples' code breaks. But keeping the bug
around isn't an option.

The problem isn't really breaking the code. It is known to be necessary on some subjects. It is more about how it is done.

The next code breakage comes from making array slices
consistently rvalues (the slice structure itself, not the
data). It's not a new idea, like introducing immutable, just
wasn't correctly implemented from the start. I don't know if
this warrants a LTS release already. The problem will be
obvious and easy to fix by introducing a temp variable to pass
as lvalue into functions taking slices by ref. Or changing
those functions to auto-ref.

Very good example (many code of mine broke on that one).

Yes this is the way things should have been from day 1. And solving that is clearly the way to go.

However, this change is right now into master and will go out with the next version of D, breaking a truly large amount of code (most code that uses slice as range will break).

This isn't the type of change you can release without any damage mitigation plan.

Reply via email to