I don't have answers to your other questions. On 02/10/2011 03:25 PM, spir wrote: > unittest { > auto i = 1; > auto s = "i"; It works if you define s as: enum s = "i"; > writeln(mixin("i")); // compiler happy up to here --> "1" > writeln(mixin(s)); // compiler unhappy --> "Error: argument to mixin > // must be a string, not (s)" It now works. Ali