https://issues.dlang.org/show_bug.cgi?id=20831
Adam D. Ruppe <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from Adam D. Ruppe <[email protected]> --- I simplified the test a little more and see it changes based on order: ``` void main() { static if(is(typeof(foo) Params == __parameters)) pragma(msg, __traits(getAttributes, Params[0..1])); } void foo(float) {} ``` That triggers it. Now move the definition of `foo` up above main: ``` void foo(float) {} void main() { static if(is(typeof(foo) Params == __parameters)) pragma(msg, __traits(getAttributes, Params[0..1])); } ``` that works correctly. Looks like one of those semantic is not called at the right time bugs. --
