On Wed, Sep 21, 2016 at 12:07 PM, Levi Morrison <le...@php.net> wrote: > On Wed, Sep 21, 2016 at 11:13 AM, Nicolas Grekas > <nicolas.gre...@gmail.com> wrote: >>> To handle this in code written around current __toString seems pretty >> simple >> >> Yes it is, but that's not what we're talking about: >> BC is about having perfectly fine code working in e.g. 7.0 be still working >> fine on 7.1 *without any change*. >> >> Right now, we have red test suites on php7.1rc2. >> This is the symptom of a BC break, by definition. >> And the issue is not the existing code we have, but the new one that is >> changing the behavior of the engine. > > This was understood when the decision was made. You seem to not be > understanding the bigger issue and instead focusing on the BC break > for a *single minor release, and a dot zero at that*. If we keep the > BC compat this method is redundant and useless forever. If we fix it > we break your code for *one single minor release, and a dot zero at > that*. Which is the bigger disruption? > > This is why the decision was made. It is better to have the useful > functionality from here on out than to preserve BC with a single minor > release, and a dot-zero at that.
I should also add that the dot-zero is the same version it was released. Having backwards compatibility breaks in the version after its release in some cases is not that uncommon (though unfortunate). Essentially I understand the frustration and empathize with having your code broken. However, I still think it is better for the overall language health to prepend the question mark, which is why it is there in the RC releases despite the previous discussion thread. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php