On Mon, 1 Oct 2018 at 13:24, Marcos Passos <marcospassos....@gmail.com>
wrote:

>
> You can also see it as a language construct that expects a type at the
> left-hand side of the name resolution operator. In that sense, primitive
> types are perfectly valid.
>


While I can see that as an interpretation, it doesn't make a lot of sense:

- the keyword "class" implies that this will always return a class name; it
is the static equivalent of get_class(), which does not support non-objects
- if instead it was resolving a "type", you might expect it to return the
same values as gettype(), which for any object is simply the string "object"
- the main purpose of the feature is to resolve namespace lookups and
aliases, but basic types are not subject to namespaces; in other words,
"int::class" can only ever return "int"

As Marco says, if you have a use case where allowing this is helpful,
please share it, and we can discuss if this, or some new related feature
(e.g. "array::type"), would be worth supporting.

Regards,
-- 
Rowan Collins
[IMSoP]

Reply via email to