Fix integer_division false negative for NonZero denominators (#14664)
Close rust-lang/rust-clippy#14652 changelog: [`integer_division`]: fix false negative for NonZero denominators
This commit is contained in:
commit
16fd2a83d7
3 changed files with 24 additions and 5 deletions
|
|
@ -1,5 +1,9 @@
|
|||
#![warn(clippy::integer_division)]
|
||||
|
||||
use std::num::NonZeroU32;
|
||||
|
||||
const TWO: NonZeroU32 = NonZeroU32::new(2).unwrap();
|
||||
|
||||
fn main() {
|
||||
let two = 2;
|
||||
let n = 1 / 2;
|
||||
|
|
@ -12,4 +16,8 @@ fn main() {
|
|||
//~^ integer_division
|
||||
|
||||
let x = 1. / 2.0;
|
||||
|
||||
let a = 1;
|
||||
let s = a / TWO;
|
||||
//~^ integer_division
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
error: integer division
|
||||
--> tests/ui/integer_division.rs:5:13
|
||||
--> tests/ui/integer_division.rs:9:13
|
||||
|
|
||||
LL | let n = 1 / 2;
|
||||
| ^^^^^
|
||||
|
|
@ -9,7 +9,7 @@ LL | let n = 1 / 2;
|
|||
= help: to override `-D warnings` add `#[allow(clippy::integer_division)]`
|
||||
|
||||
error: integer division
|
||||
--> tests/ui/integer_division.rs:8:13
|
||||
--> tests/ui/integer_division.rs:12:13
|
||||
|
|
||||
LL | let o = 1 / two;
|
||||
| ^^^^^^^
|
||||
|
|
@ -17,12 +17,20 @@ LL | let o = 1 / two;
|
|||
= help: division of integers may cause loss of precision. consider using floats
|
||||
|
||||
error: integer division
|
||||
--> tests/ui/integer_division.rs:11:13
|
||||
--> tests/ui/integer_division.rs:15:13
|
||||
|
|
||||
LL | let p = two / 4;
|
||||
| ^^^^^^^
|
||||
|
|
||||
= help: division of integers may cause loss of precision. consider using floats
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
error: integer division
|
||||
--> tests/ui/integer_division.rs:21:13
|
||||
|
|
||||
LL | let s = a / TWO;
|
||||
| ^^^^^^^
|
||||
|
|
||||
= help: division of integers may cause loss of precision. consider using floats
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue