### What it does Checks for comparisons where the relation is always either true or false, but where one side has been upcast so that the comparison is necessary. Only integer types are checked. ### Why is this bad? An expression like `let x : u8 = ...; (x as u32) > 300` will mistakenly imply that it is possible for `x` to be outside the range of `u8`. ### Known problems https://github.com/rust-lang/rust-clippy/issues/886 ### Example ``` let x: u8 = 1; (x as u32) > 300; ```