Charles McAnany:
> My issue here is that I have already used the exact same syntax in the first
> unit test as my code for the ++ overload has, but here it fails me. (Plus, why
> is line 166 having trouble with opBinary? ++ is unary, no?
> Any ideas?
In similar situations I suggest you to keep reducing your code until you have a
minimal test case. Your code reduced:
struct Foo {
Foo opUnary(string op:"++")() {
return this;
}
Foo opBinary(string op)(int y) {
return this;
}
}
void main() {
auto f = Foo();
f++;
}
It sees the post-increment fires the opBinary template too. I think this is a
front-end bug, for Bugzilla if confirmed and not already present.
Bye,
bearophile