diff options
| author | bors <bors@rust-lang.org> | 2022-08-04 18:45:32 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-08-04 18:45:32 +0000 |
| commit | 2dc7d2f7f5a3b1254f901d61e5c6a685463e8196 (patch) | |
| tree | 350ef676076f385645dc25447046cb4fc9a71a9c | |
| parent | 71777465cc71b365ca08db8afd5c25eb99bd3f08 (diff) | |
| parent | 0e1d65850afd9ebf894526c75ddf7d6dcabf4097 (diff) | |
| download | rust-2dc7d2f7f5a3b1254f901d61e5c6a685463e8196.tar.gz rust-2dc7d2f7f5a3b1254f901d61e5c6a685463e8196.zip | |
Auto merge of #9266 - alex-semenyuk:cast_abs_to_unsigned_paren_fix, r=Jarcho
Fix cast_abs_to_unsigned with code in parens Close #9185 changelog: none
| -rw-r--r-- | clippy_lints/src/casts/cast_abs_to_unsigned.rs | 2 | ||||
| -rw-r--r-- | tests/ui/cast_abs_to_unsigned.fixed | 2 | ||||
| -rw-r--r-- | tests/ui/cast_abs_to_unsigned.rs | 2 | ||||
| -rw-r--r-- | tests/ui/cast_abs_to_unsigned.stderr | 8 |
4 files changed, 12 insertions, 2 deletions
diff --git a/clippy_lints/src/casts/cast_abs_to_unsigned.rs b/clippy_lints/src/casts/cast_abs_to_unsigned.rs index 64ea326b75a..6426e8c25ac 100644 --- a/clippy_lints/src/casts/cast_abs_to_unsigned.rs +++ b/clippy_lints/src/casts/cast_abs_to_unsigned.rs @@ -37,7 +37,7 @@ pub(super) fn check( span, &format!("casting the result of `{cast_from}::abs()` to {cast_to}"), "replace with", - format!("{}.unsigned_abs()", Sugg::hir(cx, &args[0], "..")), + format!("{}.unsigned_abs()", Sugg::hir(cx, &args[0], "..").maybe_par()), Applicability::MachineApplicable, ); } diff --git a/tests/ui/cast_abs_to_unsigned.fixed b/tests/ui/cast_abs_to_unsigned.fixed index a68b32b097e..7ecefd7b134 100644 --- a/tests/ui/cast_abs_to_unsigned.fixed +++ b/tests/ui/cast_abs_to_unsigned.fixed @@ -26,4 +26,6 @@ fn main() { let _ = a.unsigned_abs() as u32; let _ = a.unsigned_abs() as u64; let _ = a.unsigned_abs() as u128; + + let _ = (x as i64 - y as i64).unsigned_abs() as u32; } diff --git a/tests/ui/cast_abs_to_unsigned.rs b/tests/ui/cast_abs_to_unsigned.rs index 110fbc6c2df..30c603fca9a 100644 --- a/tests/ui/cast_abs_to_unsigned.rs +++ b/tests/ui/cast_abs_to_unsigned.rs @@ -26,4 +26,6 @@ fn main() { let _ = a.abs() as u32; let _ = a.abs() as u64; let _ = a.abs() as u128; + + let _ = (x as i64 - y as i64).abs() as u32; } diff --git a/tests/ui/cast_abs_to_unsigned.stderr b/tests/ui/cast_abs_to_unsigned.stderr index 02c24e10659..04553774526 100644 --- a/tests/ui/cast_abs_to_unsigned.stderr +++ b/tests/ui/cast_abs_to_unsigned.stderr @@ -96,5 +96,11 @@ error: casting the result of `isize::abs()` to u128 LL | let _ = a.abs() as u128; | ^^^^^^^ help: replace with: `a.unsigned_abs()` -error: aborting due to 16 previous errors +error: casting the result of `i64::abs()` to u32 + --> $DIR/cast_abs_to_unsigned.rs:30:13 + | +LL | let _ = (x as i64 - y as i64).abs() as u32; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(x as i64 - y as i64).unsigned_abs()` + +error: aborting due to 17 previous errors |
