The following code on dmd2.047 causes the error: "Assertion failure: 'se->sz == 1' on line 3005 in file 'expression.c'" The string passed in is invalid due to bug 4389. Test case: import std.stdio; import std.range; string get() { auto ds = "int x;"d; // build "int x;" from dchars string s; foreach(c; ds) s ~= c; return s; } void main() { mixin(get()); }
Reduced test case moved to bug 4389, since it is has the same root cause. *** This issue has been marked as a duplicate of issue 4389 ***