On 13/12/13 10:02, Ferenc Kovacs wrote:
So changing the behavior in my opinion would be a BC break, and given
the nature of this feature, I think that there are no solution, which
would eliminate all the edge-cases and make the feature truly
consistant/symetric to the current incrementing and to our type
juggling, so I think we can't even call it a bugfix(and ship it in a
minor), when we change it from mostly-broken to slightly-broken.
It is technically a BC-break if something relies on being able to infinitely decrement alphanumerics and have the same result, but I doubt any code actually relies on it.
I think this entirely consistent with incrementing at present, with the one exception of "a" decrementing to zero. Making "a" not decrement at all is a compromise I might consider.
At risk of derailing the thread, I think the current "no BC breaks in minors" policy is somewhat misguided. The problem is that a lot of bugfix are technically a BC break (unless code is supposed to be consistent with how PHP's supposed to work and not how it actually works), and in practise you'll have to introduce some BC breaks when adding new features (for example, making certain constant names keywords would break existing code which used those names). Hence perhaps we should change the rules to say that certain BC breaks are allowed, but only in very limited and specific circumstances.
--
Andrea Faulds
http://ajf.me/