Object.opEquals, opCmp, toHash
newshound2 at digitalmars.com
Thu Feb 16 12:38:18 PST 2012
On 2/16/2012 7:52 AM, Timon Gehr wrote:
> So imo, making opEquals, opCmp, toHash const pure nothrow @safe is blocked by
> properly annotating Phobos as well as the following issues:
> Bugs in existing attribute inference:
> Enhancement required for making templates const correct:
Yes, I want to get all that fixed.
>> One reason is memoization, aka lazy initialization, aka logical const. I
>> don't believe these are worth it. If you must do it inside those
>> functions (and functions that override them), you're on your own to make
>> it work right (use unsafe casts, etc.).
> It would be helpful if we could add cast(pure) for that purpose. The
> documentation could state that cast(pure) is only valid if the behaviour of the
> enclosing function still appears to be pure.
cast(pure) sounds like a good idea.
More information about the Digitalmars-d