Jonathan M Davis:
If you want it to be guaranteed, you'd do something liketemplate foo(string s) { enum foo = s ~ " betty"; }
A more general solution is to wrap the concatenation with a call to:
alias ctEval(alias expr) = expr; Use: string bar() { return ctEval!(s ~ " betty"); } Bye, bearophile