On Thursday, 2 June 2016 at 22:17:32 UTC, ag0aep6g wrote:
Yeah, can't do it that way. You have only one f_impl call, but
want it to go to different overloads based on dynamic
information (caseS). That doesn't work.
You need three different f_impl calls. You can generate them,
so there's only one in the source, but it's a bit involved:
sw: switch (caseS)
{
foreach (i, T; TL)
{
case i: f_impl(result.get!T); break sw;
}
default: assert(false);
}
Oh... wow... cool! :)
But still, I can't mark the f-method @nogc, and this is not due
to the writeln calls... why GC is invoked, although everything is
known and no memory allocation should happen?