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