What's the status of old-style operator overloads in D2?
Andrej Mitrovic via Digitalmars-d
digitalmars-d at puremagic.com
Tue Apr 22 07:21:40 PDT 2014
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.
More information about the Digitalmars-d
mailing list