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?