2 Checks for casts from an unsigned type to a signed type of
3 the same size. Performing such a cast is a 'no-op' for the compiler,
4 i.e., nothing is changed at the bit level, and the binary representation of
5 the value is reinterpreted. This can cause wrapping if the value is too big
6 for the target signed type. However, the cast works as defined, so this lint
10 While such a cast is not bad in itself, the results can
11 be surprising when this is not the intended behavior, as demonstrated by the
16 u32::MAX as i32; // will yield a value of `-1`