Comment #0 by bearophile_hugs — 2011-02-08T17:04:36Z
I think this is correct code (trouble originally found by Charles McAnany):
struct Foo {
Foo opUnary(string op:"++")() {
return this;
}
Foo opBinary(string op)(int y) {
return this;
}
}
void main() {
auto f = Foo();
f++;
}
But DMD 2.051 shows the errors:
test.d(11): Error: template test.Foo.opBinary(string op) does not match any function template declaration
test.d(11): Error: template test.Foo.opBinary(string op) cannot deduce template function from argument types !()()