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?

Reply via email to