The following code: import std.typetuple; @(3) enum foo = 3; void main () { alias TypeTuple!(__traits(getAttributes, foo)) bar; } Results in the following error: test.d(7): Error: first argument is not a symbol
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/67fa699e45d16a396520270567fe057d59ea5800 fix Issue 9652 - __traits(getAttributes) doesn't work with manifest constants anonymous enum fix fix code style style fix 2 template arguments, initialized with expression interpreted as expressions in __ traits, not as enum Added lost spaces add getVarExp method move ed initialization into semantic and move semantic into getVarExp. move check to manifestness to semanticTiargs and other changes fix optimize condition and assign to enum test final fixes https://github.com/D-Programming-Language/dmd/commit/869c537d44e362d3ce6a4906b8422196eba33e50 Merge pull request #1960 from IgorStepanov/issue9652 Issue9652 - __traits(getAttributes) doesn't work with manifest constants
Pull request: https://github.com/D-Programming-Language/dmd/pull/1960
It says it depends on this: https://github.com/D-Programming-Language/phobos/pull/1283