How will we fix opEquals?

Don nospam at nospam.com
Thu Feb 10 00:19:38 PST 2011


Andrei once stated a worthy goal: as far as possible, const should be 
opt-in: it should be possible to code without requiring const on everything.

opEquals() is in conflict with this, since it is a member function of 
Object.

(1) If it is a const member function, then it will have a viral effect 
on all objects -- any function called by opEquals will have to be marked 
const.
(2) If it is not const, then const objects cannot be compared!

Currently, it's not const,  but the problem isn't visible because of 
compiler bug 5080. (Same problem applies to opCmp).

How will we break this dilemma?


More information about the Digitalmars-d mailing list