Incomplete mixin expression + char[] to char assignment = crash :) -- char[] foo() { char[2] res = "1 "; res[1] = ";"; // should be a char return res; }
struct S(T) { int i = mixin( foo() ); // incomplete mixin expression } S!(int) s; -- Assertion failure: '0' on line 1342 in file 'expression.c' And while you are reading this, could you maybe tell me why this needs a .dup? -- char[] bar() { char[8] res = "int i=0;"; return res.dup;// without: main.d(/here/): Error: escaping reference to local res } mixin ( bar() ); --