Is there a reason why the language doesn't provide UB-on-overflow (and wrappring overflow) for both unsigned and signed types?
It always feels dirty deliberately using a signed type for something you know can never be neagtive just because that signed type has other properties you want.
It always feels dirty deliberately using a signed type for something you know can never be neagtive just because that signed type has other properties you want.