diff options
| author | Jaeyong Sung <jaeyong0201@gmail.com> | 2022-03-14 00:13:57 +0900 |
|---|---|---|
| committer | Jaeyong Sung <jaeyong0201@gmail.com> | 2022-03-14 00:13:57 +0900 |
| commit | 800f66de2bea7672e03ffa2be457ef06d91cce83 (patch) | |
| tree | 2bbdeaae84fbe4623272a7feecbbc2b22319e3ba | |
| parent | 1ad7e7097ae9274d74b16899e25c65d125159bd4 (diff) | |
| download | rust-800f66de2bea7672e03ffa2be457ef06d91cce83.tar.gz rust-800f66de2bea7672e03ffa2be457ef06d91cce83.zip | |
add clearing return vars
| -rw-r--r-- | clippy_lints/src/only_used_in_recursion.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clippy_lints/src/only_used_in_recursion.rs b/clippy_lints/src/only_used_in_recursion.rs index 2e5e990be44..b828d9334ee 100644 --- a/clippy_lints/src/only_used_in_recursion.rs +++ b/clippy_lints/src/only_used_in_recursion.rs @@ -268,18 +268,22 @@ impl<'tcx> Visitor<'tcx> for SideEffectVisit<'tcx> { pat, init: Some(init), .. }) => { self.visit_pat_expr(pat, init, false); + self.ret_vars.clear(); }, StmtKind::Item(i) => { let item = self.ty_ctx.hir().item(i); self.visit_item(item); + self.ret_vars.clear(); + }, + StmtKind::Expr(e) | StmtKind::Semi(e) => { + self.visit_expr(e); + self.ret_vars.clear(); }, - StmtKind::Expr(e) | StmtKind::Semi(e) => self.visit_expr(e), StmtKind::Local(_) => {}, } } fn visit_expr(&mut self, ex: &'tcx Expr<'tcx>) { - debug_assert!(self.ret_vars.is_empty()); match ex.kind { ExprKind::Array(exprs) | ExprKind::Tup(exprs) => { self.ret_vars = exprs |
