So I have a function:
auto foo(C, K)(Strukt1* s, Strukt2 a, uint b, scope C c, scope K k, out Strukt3 r)
{ /* ... */ }
Where return type is Strukt4
. dmd borks the first argument on call (at least on Linux). Workarounds so far I found:
- adding
extern(C)
- reducing number of parameters - five is fine, as soon as I add the sixth or more - it breaks (but not with
extern(C)
).
Problem is, I tried reproducing it outside of codebase, with no success :( Does that sound familiar to anyone? Maybe there's already a report about this on bugzilla? Any pointers on tracking this down?