[Issue 16354] New: CTFE static foreach doesn't work with mixin import
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Aug 5 05:36:18 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16354
Issue ID: 16354
Summary: CTFE static foreach doesn't work with mixin import
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: minor
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: greensunny12 at gmail.com
Using static foreach with mixin imports doesn't seem to work whereas it works
with the CTFE foreach loop;
>foo.d
void main()
{
import std.meta : AliasSeq;
alias mods = AliasSeq!("test1");
foreach (mod; mods)
mixin("import bar : " ~ mod ~ " = bar_fun;");
test1();
}
>bar.d
void bar_fun()
{
import std.stdio;
writeln("works");
}
One gets:
> foo.d(9): Error: undefined identifier 'test1'
However this does work ("manual loop unrolling") fine:
>foo.d
void main()
{
import std.meta : AliasSeq;
alias mods = AliasSeq!("test1");
mixin("import bar : " ~ mods[0] ~ " = bar_fun;");
test1();
}
--
More information about the Digitalmars-d-bugs
mailing list