Skip to content

Commit

Permalink
Fix false positive with a = a
Browse files Browse the repository at this point in the history
  • Loading branch information
blyxyas committed Mar 13, 2023
1 parent e65ad6f commit 6631480
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
1 change: 1 addition & 0 deletions clippy_lints/src/swap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ fn check_suspicious_swap(cx: &LateContext<'_>, block: &Block<'_>) {
&& first.span.eq_ctxt(second.span)
&& is_same(cx, lhs0, rhs1)
&& is_same(cx, lhs1, rhs0)
&& !is_same(cx, lhs1, rhs1) // Ignore a = b; a = a (#10421)
&& let Some(lhs_sugg) = match &lhs0 {
ExprOrIdent::Expr(expr) => Sugg::hir_opt(cx, expr),
ExprOrIdent::Ident(ident) => Some(Sugg::NonParen(ident.as_str().into())),
Expand Down
8 changes: 8 additions & 0 deletions tests/ui/swap.fixed
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,11 @@ const fn issue_9864(mut u: u32) -> u32 {
v = temp;
u + v
}

#[allow(clippy::let_and_return)]
const fn issue_10421(x: u32) -> u32 {
let a = x;
let a = a;
let a = a;
a
}
8 changes: 8 additions & 0 deletions tests/ui/swap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,11 @@ const fn issue_9864(mut u: u32) -> u32 {
v = temp;
u + v
}

#[allow(clippy::let_and_return)]
const fn issue_10421(x: u32) -> u32 {
let a = x;
let a = a;
let a = a;
a
}

0 comments on commit 6631480

Please sign in to comment.