Comment #0 by verylonglogin.reg — 2013-06-16T03:01:33Z
Documentation states classes must override `toHash`/`opEquals`/`opCmp` to work as associative array keys. But current implementation works anyway.
As people are lazy I suppose lots of such classes are already used as associative array keys.
So once e.g. compacting GC will be implemented and `Object`'s `toHash` equality will stop being class instance address equality current AA implementation will start using `Object`'s `opCmp` which will throw thus breaking lots of code.
I'd suggest to either document such usage or check in AA implementation that required functions are overriden.
Comment #1 by issues.dlang — 2013-06-16T03:25:28Z
If we ever actually manage to remove those functions from Object like we decided to do, then this problem is solved in that Object won't have the functions anyway.
Comment #2 by robert.schadek — 2024-12-07T13:32:47Z