disabling unary "-" for unsigned types

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Feb 14 13:32:20 PST 2010


Justin Johansson wrote:
> Andrei Alexandrescu wrote:
>> ulong x0;
>> static assert(!__traits(compiles, -x0));
>> uint x1;
>> static assert(!__traits(compiles, -x1));
>> ushort x2;
>> static assert(!__traits(compiles, -x2));
>> ubyte x3;
>> static assert(!__traits(compiles, -x3));
>>
>> Sounds good?
>>
>> Andrei
> 
> Sounds excellent.  Who would have thought of that?
> 
> Cheers
> Justin Johansson
> 

Actually Walter just talked me into forgetting about it. -x is 
conceptually rewritten into ~x + 1 for all types and typed accordingly. 
I'm dropping this in order to keep focused on more important changes.

Andrei



More information about the Digitalmars-d mailing list