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