[php-src] Issue #14926: PHP 8.3: "yield /*comment*/ from" is no longer a parse error ?
| From: | jrfnl | Date: | Thu, 11 Jul 2024 21:53:29 +0000 |
| Subject: | [php-src] Issue #14926: PHP 8.3: "yield /*comment*/ from" is no longer a parse error ? | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-247278@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/14926
Author: jrfnl
### Description
The following code:
```php
<?php
function generator()
{
yield from gen2();
yield /* comment */ from gen2();
yield
from
gen2();
yield // comment
from gen2();
yield
/* comment */
from
gen2();
}
```
https://3v4l.org/2SI2Q#veol
Resulted in this output:
```
_no output_
```
But I expected this output instead:
```
Parse error: syntax error, unexpected identifier "gen2" in /in/2SI2Q on line 7
```
For a full analysis of the differences in tokenization, see: https://github.com/PHPCSStandards/PHP_CodeSniffer/issues/529#issuecomment-2209337419
While I'm not necessarily challenging this change, I'd like to know if this was a
deliberate/intentional change.
I have not been able to find anything in the PHP 8.3 CHANGELOG about this change, nor in the NEWS
file. I can't even seem to find the commit which caused this change.
If this change was intentional, this is probably a documentation issue and the change should be
annotated in the PHP 8.3 CHANGELOG.
If this change was unintentional, I believe it may be prudent to revert the change (or at least
revert the side-effects of the commit which incidentally caused this change).
I'd like to get some clarity about this as it will inform how the PHP_CodeSniffer issue linked
above should be fixed.
### PHP Version
PHP 8.3.8
### Operating System
Not relevant