Hey all,

I was wondering if anyone could enlighten me as to why the following code does not compile (dmd2, latest release or the beta):
----
struct Foo
{
    int a;
}

string test()
{
        string str = "struct " ~ Foo.stringof ~ "_{";
        foreach (j, f; Foo.tupleof)
        {
            enum fullFieldName = Foo.tupleof[j].stringof;
str ~= typeof(f).stringof ~ ' ' ~ fullFieldName[Foo.stringof.length + 3 .. $];
        }
        return str ~ "}";
}

void main()
{
    mixin(test());
}
----
If fails with the errors:
test.d(9): Error: Cannot interpret Foo at compile time
test.d(19): Error: cannot evaluate test() at compile time
test.d(19): Error: argument to mixin must be a string, not (test())
test.d(19): Error: cannot evaluate test() at compile time
test.d(19): Error: argument to mixin must be a string, not (test())

Thanks,

--
Robert
http://octarineparrot.com/

Reply via email to