On 18.08.2015 at 22:47, Arne Blankerts wrote:

> while playing around with the new group use syntax, I stumbled upon an
> inconsistency of which I'm not sure whether or not it is expected.
> For the "classic" syntax, while technically pointless, a leading \ for
> the name is considered valid and works identical to a line without it:
> 
> <?php
> 
> namespace foo;
> 
> use \some\bar;
> use some\baz;
> 
> 
> With the new group syntax, the version with a leading \ is considered
> invalid - a lint will PHP Parse error: syntax error, unexpected '{',
> expecting identifier (T_STRING):
> 
> <?php
> 
> namespace foo;
> use some\{ bar, baz };
> use \some\{ bar, baz };
> 
> 
> 
> 
> Is this a bug or feature?

It seems to me that is an oversight.  The resolution would be rather
simple, cf.
<https://github.com/php/php-src/blob/php-7.0.0beta3/Zend/zend_language_parser.y#L366-L375>.

However, while looking at the grammar, I've noticed that the entities
inside the braces may start with a backslash, what I consider rather
strange (particularly as there has to be a backslash immediately before
the opening brace).

-- 
Christoph M. Becker


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to