https://issues.dlang.org/show_bug.cgi?id=17219
--- Comment #1 from John Colvin <[email protected]> --- One also gets this weirdness: void foo(alias bar)() { static int bar0(T...)(T t) { return 0; } alias bar = bar0; pragma(msg, __traits(identifier, __traits(parent, bar!int))); pragma(msg, __traits(identifier, __traits(parent, __traits(parent, bar!int)))); } int blah(T)(T t) { return 1; } void main() { foo!blah; } output: bar0 bar0 I.e. __traits(parent, ...) ends up idempotent. --
