Consider the following:

---
enum Foo { BAR, }

mixin template S(string s_)
{
        enum s = s_;
}

void main()
{
mixin S!(Foo.BAR.stringof); // Error: identifier 'stringof' of 'Foo.BAR.stringof' is not defined

        enum e = Foo.BAR.stringof;
        mixin S!(e); // works fine
}
---

Why doesn't the first work? And is there an alternative to the second version?

Reply via email to