Hi
On 7/19/24 07:22, Juliette Reinders Folmer wrote:
More than anything, I find it concerning that this change sets a
precedent for tokens to include comments.
Just as an example: what does this mean for the PHP 8.0 nullsafe object
operator ? Should we now suddenly allow that to be written as `?
/*comment*/ ->` ?
Or what about a cast token ? Should that be allowed to be `(string /*for
reasons*/)` ?
The difference between yield from
and ?->
is that the former looks and feels like it would be two separate keywords, because of the *required* whitespace between the yield
and the from
. The fact that a yield
keyword actually exists also contributes to that. ?->
on the other hand looks and feels like a single operator, just like ++
, !==
, <=>
and others.
Except for yield from
the rule where comments may be placed as far as I can tell is "comments may appear where whitespace may appear", which is easy enough to explain and understand. So it makes sense to allow for comments between yield
and from
, but I agree that ideally those would be emitted as separate tokens.
Best regards
Tim Düsterhus