diff options
| author | bors <bors@rust-lang.org> | 2021-10-18 00:22:48 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-10-18 00:22:48 +0000 |
| commit | af8524004951bc978681b1aa4e7a0778b112c937 (patch) | |
| tree | e79de6c54c4cd90d35efdc4499bb920efe6593a1 | |
| parent | d50cfd26e5fe72afef8dd60adda42faddfe45d91 (diff) | |
| parent | a550133b8fa9e3bae23c26eadae1a75f86b240a6 (diff) | |
| download | rust-af8524004951bc978681b1aa4e7a0778b112c937.tar.gz rust-af8524004951bc978681b1aa4e7a0778b112c937.zip | |
Auto merge of #7832 - narpfel:implicit-saturating-sub-false-positive-else, r=giraffate
Fix false positive of `implicit_saturating_sub` with `else` clause Fixes #7831 changelog: Fix false positive of [`implicit_saturating_sub`] with `else` clause
| -rw-r--r-- | clippy_lints/src/implicit_saturating_sub.rs | 2 | ||||
| -rw-r--r-- | tests/ui/implicit_saturating_sub.fixed | 8 | ||||
| -rw-r--r-- | tests/ui/implicit_saturating_sub.rs | 8 |
3 files changed, 17 insertions, 1 deletions
diff --git a/clippy_lints/src/implicit_saturating_sub.rs b/clippy_lints/src/implicit_saturating_sub.rs index 79d4d7ddcbc..a4f60ded3a6 100644 --- a/clippy_lints/src/implicit_saturating_sub.rs +++ b/clippy_lints/src/implicit_saturating_sub.rs @@ -43,7 +43,7 @@ impl<'tcx> LateLintPass<'tcx> for ImplicitSaturatingSub { return; } if_chain! { - if let Some(higher::If { cond, then, .. }) = higher::If::hir(expr); + if let Some(higher::If { cond, then, r#else: None }) = higher::If::hir(expr); // Check if the conditional expression is a binary operation if let ExprKind::Binary(ref cond_op, cond_left, cond_right) = cond.kind; diff --git a/tests/ui/implicit_saturating_sub.fixed b/tests/ui/implicit_saturating_sub.fixed index 859765d08a7..e6f57e9267e 100644 --- a/tests/ui/implicit_saturating_sub.fixed +++ b/tests/ui/implicit_saturating_sub.fixed @@ -157,4 +157,12 @@ fn main() { if i_64 != 0 { i_64 -= 1; } + + // issue #7831 + // No Lint + if u_32 > 0 { + u_32 -= 1; + } else { + println!("side effect"); + } } diff --git a/tests/ui/implicit_saturating_sub.rs b/tests/ui/implicit_saturating_sub.rs index 2f32a7b1578..8bb28d149c6 100644 --- a/tests/ui/implicit_saturating_sub.rs +++ b/tests/ui/implicit_saturating_sub.rs @@ -203,4 +203,12 @@ fn main() { if i_64 != 0 { i_64 -= 1; } + + // issue #7831 + // No Lint + if u_32 > 0 { + u_32 -= 1; + } else { + println!("side effect"); + } } |
