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