On Saturday, July 23, 2016 11:25:02 Steven Schveighoffer via Digitalmars-d- learn wrote: > The real problem here is that there is a base method at all. We have > been striving to remove it at some point, but it is very difficult due > to all the legacy code which is written. > > Almost all the Object base methods need to be removed IMO. You can add > them at a higher level if you need them, and then specify your > requirements for derived classes. > > Including opHash, opCmp, toString, etc.
https://issues.dlang.org/show_bug.cgi?id=9769 https://issues.dlang.org/show_bug.cgi?id=9770 https://issues.dlang.org/show_bug.cgi?id=9771 https://issues.dlang.org/show_bug.cgi?id=9772 This PR would largely fix the opEquals problem (though it doesn't deal with actually removing opEquals from Object, just making it so that you don't need it): https://github.com/dlang/druntime/pull/1439 However, it's just languished (probably because it's in druntime and not terribly interesting). But actually removing opEquals and replacing the others gets a lot more interesting (e.g. we have to finishing templatizing the built-in AAs as one of the steps), so as critical as that PR is, it's only one small step. - Jonathan M Davis