Old-style operator overloads (such as opCom, opAnd, etc) have largely been superseded by new-style templated operator overloads (opUnary, opBinary, etc).

But the old-style operators are not listed on the deprecation page, they don't seem to be planned to be deprecated/removed. I recall a few times people mentioning they might get deprecated at some point.

There's also a bugzilla issue from a year ago asking for warnings when old-style operator overloads are used:
https://issues.dlang.org/show_bug.cgi?id=10320

E.g. I've wanted to replace old-style operators from Phobos with the new-style ones (https://github.com/D-Programming-Language/phobos/pull/2093), but this brought up some issues w.r.t. the compilation performance when using templates and potential object bloat as well.

The reason I was replacing them is because I was under the impression the old-style operators are going away, and it's best to keep such code out of Phobos or users might end up writing that kind of code too.

I think it's time we get an official stance on this before it's too late.

Reply via email to