Hi
Note: I've not been able to fully work through the ML discussion and
meaningfully think about all the commentary. This includes some of the
older emails. I have also not yet given the RFC an in-depth read, like I
would have normally done.
Some (incomplete) notes for now:
Am 2026-01-13 23:19, schrieb Larry Garfield:
Once those issues are addressed, I think we're nearly able to take CMs
to a vote. (If anyone else wants to weigh in on some other part as
well, even if it's just a voice of support/approval, now is the time.)
Something that I had noted in response to Rowan in the (what you call)
“Bonus Thread” in https://news-web.php.net/php.internals/129582 and also
in this RFC's discussion in
https://news-web.php.net/php.internals/129618 and what was also
mentioned by Marco Deleu in
https://news-web.php.net/php.internals/129083 and what I feel is neither
properly justified within the RFC text and as far as I can tell was not
really discussed either:
The fact that `break;` and `continue;` target `using()` blocks. To me it
violates the principle of least surprise that
foreach ($users as $user) {
using (new SuppressErrors()) {
if ($user->isAdmin()) {
$firstAdmin = $user;
break;
}
}
}
is incorrect code. The RFC just states *that* this will happen as a
fact, but does not attempt to explain *why* that decision was made and
neither are there any examples showcasing how that could be useful.
I'd also like to note that there's also an “Open Issue” listed in the
RFC that is related to this topic.
---------------
With regard to the desugaring listed at the top: Can you please also
provide the desugaring for the case where no context variable is
specified for completeness?
Best regards
Tim Düsterhus