Forbid -(unsigned integer)

@nodakai, personally I don’t find !unsigned_int + 1 to be annoying.

Also, If 0 - unsigned_int is an error due to overflowing, then it will be strange if -unsigned_int is not an error. (Because the programmer is requesting a value outside the valid range of unsigned ints, even though his/her true intention is !unsigned_int + 1.)

On the other hand, !unsigned_int is explicit bit flipping, where the programmer is not wanting a negative value. So it should always be a valid operation.

EDIT: Sorry I didn’t make myself clear. My opinion is that we should implement “error on overflowing” even if that means both 0 - unsigned_int and -unsigned_int will be invalid and we will have to write !unsigned_int + 1. (That is if other concerns doesn’t stop us from doing so.)