WAT: opCmp and opEquals woes

via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 25 09:11:27 PDT 2014


On Friday, 25 July 2014 at 14:10:11 UTC, H. S. Teoh via 
Digitalmars-d wrote:
> The whole reason the opCmp()==0 thing was brought up, was to 
> eliminate
> this frustration -- give users a nice way to transition into 
> the correct
> AA design of using opEquals for their keys, instead of just 
> outright
> breaking past recommendations in their face with no warning.

Not just that, it's also the right thing to do, independently 
from AAs. I'm astonished that it doesn't work like that already. 
When I first read the operator overloading docs, I really liked 
that in D I don't need to define all the individual comparison 
operators, but only opCmp. I totally expected this to include 
opEquals, too, which I thought was just an option that could be 
used to enhance performance, but which could be safely ignored 
otherwise. It's really bad if this isn't the case, because then 
there is nothing telling you that you need an opEquals, it will 
just silently compile and appear to be working.


More information about the Digitalmars-d mailing list