Re: [RFC] Treat namespaced names as single token, relax reserved keyword restrictions
| From: | Davey Shafik | Date: | Tue, 16 Jun 2020 20:28:18 +0000 |
| Subject: | Re: [RFC] Treat namespaced names as single token, relax reserved keyword restrictions | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-110608@lists.php.net to get a copy of this message | ||
On Tue, Jun 16, 2020 at 1:52 AM Nikita Popov <nikita.ppv@gmail.com> wrote:
> Hi internals,
>
> Inspired by the recent discussion on reserved keyword reservation, I'd like
> to propose the following RFC:
>
> https://wiki.php.net/rfc/namespaced_names_as_token
>
> This RFC makes two related changes: Treat namespaced names as a single
> token, which enables use of reserved keywords inside them. And remove
> reserved keyword restrictions from various declarations.
>
> The RFC comes with a small backwards compatibility break related to names
> that include whitespace, but will hopefully reduce the backwards
> compatibility impact of future reserved keyword additions.
>
> Regards,
> Nikita
>
The only issue I have with this RFC is this:
use Foo as KEYWORD;
While this might be _technically_ correct, it is unusable. That is:
use Foo as List;
class Bar extends List { } // this will not work
Given this, I think this specific syntax should be an error, unless I'm
missing something?
Also, does this mean we can alias to fully namespaced names now?
use \My\Foo as \Bar\Foo;
class Bat extends \Bar\Foo { } // now actually extends \My\Foo, not
\Bar\Foo (no autoload would happen?)
- Davey