Hi Tim! On 18.07.2024 at 21:05, Tim Düsterhus wrote:
> On 7/18/24 19:48, Marco Aurélio Deleu wrote: > >> Forcing all tooling that uses token_get_all() to handle this >> unintentional change seems to generate more unnecessary and real >> busywork for something only theoretical possible to break. > > The tools are required to handle this either way, because there are > released version with this specific tokenization and they are not going > away. Well, these tools could reject such code, and tell users to update to a version where this is no longer valid syntax. > Ubuntu 24.04 LTS ships with PHP 8.3.6 and generally Ubuntu backports > security fixes instead of upgrading to newer patch versions. As an > example, Ubuntu 22.04 LTS ships with PHP 8.1.2 + security fixes, not > with 8.1.29 (which is the newest 8.1.x as of now). > > Thus the ship has effectively sailed due to the inclusion in Ubuntu > 24.04 LTS as the arguably most widely used Linux distro. I have to agree that this is a strong argument, but I don't think we're absolutely obliged to stick with what have right now. We still can claim that we've made an unintended behavioral change, aka. introduced a bug, and fix it – downstream projects have to deal with this (the same as we may have to deal with unwelcome upstream fixes). And frankly, how much code would be affected? I mean, does anybody actually put a comment between `yield` and `from`? Is there a case where this may make sense? "Because we can" isn't a strong argument, in my opinion. Cheers, Christoph