<div class="gmail_quote">On 26 September 2012 20:28, Rainer Schuetze <span dir="ltr"><<a href="mailto:r.sagitario@gmx.de" target="_blank">r.sagitario@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br></div>
I think this should be allowed, aswell as implementing forward declared enums and structs (IIRC the compiler even has some error messages that suggest that it is intended).<br>
<br>
As a workaround, you could put your prototypes into a struct and generate the declarations for the static linking and the stubs for dynamic linking from their declarations and run your magic on the members of "prototypes":<br>

<br>
struct prototypes<br>
{<br>
        void fun1(int a, int b);<br>
        void fun2(int a, int b);<br>
}<br>
<br>
mixin(magic([__traits(<u></u>allMembers, prototypes)])<br>
<br>
<br>
That way you don't put the symbols into the same scope as the prototypes, and you will not add new symbols to the same scope that you are iterating over.<br>
</blockquote></div><br><div>Good idea! I'll give that a shot.</div><div><br></div><div>So it seems like there is fairly general consensus on this then, is there a next step? Should I log a bug? (I think I did log one months ago)</div>