The following gives: "Error: 'a += b' is not a scalar, it is a C" although UFCS should engage. -manfred class C{} int main(){ void opOpAssign( string op)( C a, C b){ } C a, b; a+= b; }