Cannot compare object.opEquals is not nogc

Jonathan M Davis via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jul 23 14:38:54 PDT 2016


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



More information about the Digitalmars-d-learn mailing list