dmd 2.065.0
Steven Schveighoffer
schveiguy at yahoo.com
Tue Feb 25 09:11:46 PST 2014
On Tue, 25 Feb 2014 05:28:42 -0500, Daniel Murphy
<yebbliesnospam at gmail.com> wrote:
> "Steven Schveighoffer" wrote in message
> news:op.xbs1naiueav7ka at stevens-macbook-pro.local...
>
>> A wild wild guess is that there was code in the compiler that used to
>> require it (after all, it was required a long time ago), and somehow it
>> got reactivated by accident.
>>
>> But wild guesses don't help fix bugs :)
>
> Walter + Andrei did it, and it was completely intentional, and it was
> known that it would break code.
This was the wrong fix. Druntime should be modified to use TypeInfo.equals
instead of TypeInfo.compare. Compare is no longer needed, since it's only
used to check for equality.
Note that the docs say BOTH opEquals and opCmp should be specified,
because either can be used.
I would suggest a proper interim fix is to only reject key types that
define opEquals, but not opCmp. Then switch to using equals in druntime.
Finally, get rid of AA's as a specialized type, map them cleanly to a
template.
-Steve
More information about the Digitalmars-d-announce
mailing list