==, is
    Steven Schveighoffer 
    schveiguy at yahoo.com
       
    Mon Nov 15 11:47:11 PST 2010
    
    
  
On Mon, 15 Nov 2010 14:36:33 -0500, Ellery Newcomer  
<ellery-newcomer at utulsa.edu> wrote:
> parser definitely does it for !in, but it doesn't for the other ones,  
> and I didn't want to go digging all over the place for it.
>
> Also, spec says yes for !in, but is silent for the other ones
http://www.digitalmars.com/d/2.0/operatoroverloading.html#equals
As far as is, it doesn't explicitly say that rewriting is done, but, it  
does spell out that to do the opposite, use !is.  Maybe the spec should be  
updated to explicitly say x !is y is the same as !(x is y).
http://www.digitalmars.com/d/2.0/expression.html#IdentityExpression
>
> On 11/15/2010 01:08 PM, Steven Schveighoffer wrote:
>> On Mon, 15 Nov 2010 14:06:34 -0500, Ellery Newcomer
>> <ellery-newcomer at utulsa.edu> wrote:
>>
>>> quick question: are the following rewrites always valid:
>>>
>>> e1 != e2 -> !(e1 == e2)
>>> e1 !is e2 -> !(e1 is e2)
>>> e1 !in e2 -> !(e1 in e2)
>>
>> I believe this is in fact what the compiler does (rewriting).
>>
>> -Steve
    
    
More information about the Digitalmars-d-learn
mailing list