Looks like there's no problem to me, except with the code. char[] foo() { char[2] res = "1 "; res[1] = ";"; // should be res[1] = ';'; return res; } I don't think you can have an incomplete mixin.