rust/tests/ui/manual_arithmetic_check.fixed

25 lines
799 B
Rust
Raw Normal View History

#![warn(clippy::implicit_saturating_sub, clippy::inverted_saturating_sub)]
#![allow(clippy::if_same_then_else)]
fn main() {
let a = 12u32;
let b = 13u32;
let c = 8u32;
let result = if a > b { a - b } else { a.saturating_sub(b) };
//~^ ERROR: manual arithmetic check found
let result = if b < a { a - b } else { a.saturating_sub(b) };
//~^ ERROR: manual arithmetic check found
let result = if a < b { a.saturating_sub(b) } else { a - b };
//~^ ERROR: manual arithmetic check found
let result = if b > a { a.saturating_sub(b) } else { a - b };
//~^ ERROR: manual arithmetic check found
// Should not warn!
let result = if a > b { a - b } else { a - c };
// Just to check it won't break clippy.
let result = if b > a { 0 } else { 0 };
}