I'm sure this has been filed, but can't find it. If someone knows or finds the other report(s), please mark them as duplicate and keep this. This TDPL code does not compile: class A { // Non-overridable method A opBinary(string op)(A rhs) { // Forward to an overridable function return opBinary(op, rhs); } // Overridable method, dispatch string at runtime A opBinary(string op, A rhs) { switch (op) { case "+": break; case "-": break; } } } Overloading template and non-template functions must be implemented.
*** This issue has been marked as a duplicate of issue 1528 ***