On Tuesday, 17 June 2014 at 13:52:48 UTC, Dicebot wrote:
On Tuesday, 17 June 2014 at 13:36:48 UTC, John Colvin wrote:
also, foreach that works outside of function scope would be awesome:

mixin template A(TL ...)
{
        foreach(i, T; TL)
        {
                mixin("T v" ~ i.to!string);
        }
}

It is not "also", it is primary use case of static foreach

I though the primary use of static foreach was to force the
compiler to attempt compile-time iteration even for
non-TemplateArgList arguments like arrays known at compile-time

e.g.

static foreach(el; [1,2,3,4])
{
     pragma(msg, el);
}

or

static foreach(el; 5 .. 8)
{
     pragma(msg, el);
}


The mixin template example I gave is already a "static" foreach,
just not explicitly so.

Reply via email to