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.

--

Reply via email to