October 13
https://issues.dlang.org/show_bug.cgi?id=24808

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nick@geany.org

--- Comment #1 from Nick Treleaven <nick@geany.org> ---
I think the grammar doesn't support that yet:

https://dlang.org/spec/type.html#grammar

QualifiedIdentifier:
...
    Identifier [ AssignExpression ] . QualifiedIdentifier

We would need:

    TraitsExpression [ AssignExpression ] . QualifiedIdentifier

--
October 13
https://issues.dlang.org/show_bug.cgi?id=24808

--- Comment #2 from Tim <tim.dlang@t-online.de> ---
Yes, it looks like this grammar change would be needed.

The following also does not compile, so it is consistent:
```
__traits(getAttributes, E.int32)[0].Type x;
```

Alternatively the grammar for BasicType could get:
```
    TraitsExpression . QualifiedIdentifier
```
This would be similar to Typeof.

The same problem also exists for mixins:
```
alias X1 = mixin("Types")[0].Type;
alias X2 = mixin("Types").Type;
```

It is not a high priority. It was just unexpected.

--