3 ms·
> But there is no clippy lint There actually is! You can activate the lint with a `#[deny(clippy::integer_arithmetic)]` or by using the lint group `restriction
by witcher01 4y ago
> But there is no clippy lint
There actually is! You can activate the lint with a `#[deny(clippy::integer_arithmetic)]` or by using the lint group `restriction`.[0]
// https://rust-lang.github.io/rust-clippy/master/index.html#integer_arithmetic
#[deny(clippy::integer_arithmetic)]
fn main() {
let (a, b) = (u32::MAX, 1);
//let c = a + b; // clippy: `error: integer arithmetic detected`
let (c, carry) = a.overflowing_add(b); // or any of checked_*, saturating_*, unchecked_*, wrapping_*
println!("{a} + {b} = {c} (carry bit: {carry})");
// output: `4294967295 + 1 = 0 (carry bit: true)`
}
Playground link: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b595ffd91d4cf97c7a2c3fa80dd25904 https://play.rust-lang.org/?version=stable&mode=debug&editio...
[0]: https://rust-lang.github.io/rust-clippy/master/index.html#integer_arithmetic https://rust-lang.github.io/rust-clippy/master/index.html#in...
- stouset 4y agoTIL, thanks!