From: bors Date: Sun, 2 Jun 2019 17:07:33 +0000 (+0000) Subject: Auto merge of #4166 - mati865:rustup, r=Manishearth X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=b0ec33f661a53737bc87972cbbab2b3218e66476;hp=f5d680491139f53c444c952d17e426c6e7d7844f;p=rust.git Auto merge of #4166 - mati865:rustup, r=Manishearth Rustup for https://github.com/rust-lang/rust/pull/61276 changelog: none --- diff --git a/clippy_lints/src/escape.rs b/clippy_lints/src/escape.rs index 8870b3f3b0c..41312101417 100644 --- a/clippy_lints/src/escape.rs +++ b/clippy_lints/src/escape.rs @@ -79,7 +79,16 @@ fn check_fn( let fn_def_id = cx.tcx.hir().local_def_id_from_hir_id(hir_id); let region_scope_tree = &cx.tcx.region_scope_tree(fn_def_id); - ExprUseVisitor::new(&mut v, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None).consume_body(body); + ExprUseVisitor::new( + &mut v, + cx.tcx, + fn_def_id, + cx.param_env, + region_scope_tree, + cx.tables, + None, + ) + .consume_body(body); for node in v.set { span_lint( diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index c4febdd4ddf..dcd89b7b851 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -1662,7 +1662,16 @@ fn check_for_mutation( }; let def_id = def_id::DefId::local(body.hir_id.owner); let region_scope_tree = &cx.tcx.region_scope_tree(def_id); - ExprUseVisitor::new(&mut delegate, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None).walk_expr(body); + ExprUseVisitor::new( + &mut delegate, + cx.tcx, + def_id, + cx.param_env, + region_scope_tree, + cx.tables, + None, + ) + .walk_expr(body); delegate.mutation_span() } @@ -1769,7 +1778,7 @@ fn check(&mut self, idx: &'tcx Expr, seqexpr: &'tcx Expr, expr: &'tcx Expr) -> b } let res = self.cx.tables.qpath_res(seqpath, seqexpr.hir_id); match res { - Res::Local(hir_id) | Res::Upvar(hir_id, ..) => { + Res::Local(hir_id) => { let parent_id = self.cx.tcx.hir().get_parent_item(expr.hir_id); let parent_def_id = self.cx.tcx.hir().local_def_id_from_hir_id(parent_id); let extent = self.cx.tcx.region_scope_tree(parent_def_id).var_scope(hir_id.local_id); @@ -1829,24 +1838,13 @@ fn visit_expr(&mut self, expr: &'tcx Expr) { if let QPath::Resolved(None, ref path) = *qpath; if path.segments.len() == 1; then { - match self.cx.tables.qpath_res(qpath, expr.hir_id) { - Res::Upvar(local_id, ..) => { - if local_id == self.var { - // we are not indexing anything, record that - self.nonindex = true; - } - } - Res::Local(local_id) => - { - - if local_id == self.var { - self.nonindex = true; - } else { - // not the correct variable, but still a variable - self.referenced.insert(path.segments[0].ident.name); - } + if let Res::Local(local_id) = self.cx.tables.qpath_res(qpath, expr.hir_id) { + if local_id == self.var { + self.nonindex = true; + } else { + // not the correct variable, but still a variable + self.referenced.insert(path.segments[0].ident.name); } - _ => {} } } } @@ -2378,7 +2376,7 @@ fn insert_def_id(&mut self, ex: &'tcx Expr) { let res = self.cx.tables.qpath_res(qpath, ex.hir_id); then { match res { - Res::Local(node_id) | Res::Upvar(node_id, ..) => { + Res::Local(node_id) => { self.ids.insert(node_id); }, Res::Def(DefKind::Static, def_id) => { diff --git a/clippy_lints/src/misc.rs b/clippy_lints/src/misc.rs index 57751a03f5f..74368446d99 100644 --- a/clippy_lints/src/misc.rs +++ b/clippy_lints/src/misc.rs @@ -600,9 +600,10 @@ fn in_attributes_expansion(expr: &Expr) -> bool { /// Tests whether `res` is a variable defined outside a macro. fn non_macro_local(cx: &LateContext<'_, '_>, res: def::Res) -> bool { - match res { - def::Res::Local(id) | def::Res::Upvar(id, ..) => !in_macro_or_desugar(cx.tcx.hir().span_by_hir_id(id)), - _ => false, + if let def::Res::Local(id) = res { + !in_macro_or_desugar(cx.tcx.hir().span_by_hir_id(id)) + } else { + false } } diff --git a/clippy_lints/src/needless_pass_by_value.rs b/clippy_lints/src/needless_pass_by_value.rs index 0741fd52f4f..424de64b5c7 100644 --- a/clippy_lints/src/needless_pass_by_value.rs +++ b/clippy_lints/src/needless_pass_by_value.rs @@ -137,8 +137,16 @@ fn check_fn( } = { let mut ctx = MovedVariablesCtxt::new(cx); let region_scope_tree = &cx.tcx.region_scope_tree(fn_def_id); - euv::ExprUseVisitor::new(&mut ctx, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None) - .consume_body(body); + euv::ExprUseVisitor::new( + &mut ctx, + cx.tcx, + fn_def_id, + cx.param_env, + region_scope_tree, + cx.tables, + None, + ) + .consume_body(body); ctx }; diff --git a/clippy_lints/src/utils/usage.rs b/clippy_lints/src/utils/usage.rs index 4e66da8b19f..014dc9d4d80 100644 --- a/clippy_lints/src/utils/usage.rs +++ b/clippy_lints/src/utils/usage.rs @@ -16,7 +16,16 @@ pub fn mutated_variables<'a, 'tcx: 'a>(expr: &'tcx Expr, cx: &'a LateContext<'a, }; let def_id = def_id::DefId::local(expr.hir_id.owner); let region_scope_tree = &cx.tcx.region_scope_tree(def_id); - ExprUseVisitor::new(&mut delegate, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None).walk_expr(expr); + ExprUseVisitor::new( + &mut delegate, + cx.tcx, + def_id, + cx.param_env, + region_scope_tree, + cx.tables, + None, + ) + .walk_expr(expr); if delegate.skip { return None; @@ -29,11 +38,11 @@ pub fn is_potentially_mutated<'a, 'tcx: 'a>( expr: &'tcx Expr, cx: &'a LateContext<'a, 'tcx>, ) -> bool { - let id = match variable.res { - Res::Local(id) | Res::Upvar(id, ..) => id, - _ => return true, - }; - mutated_variables(expr, cx).map_or(true, |mutated| mutated.contains(&id)) + if let Res::Local(id) = variable.res { + mutated_variables(expr, cx).map_or(true, |mutated| mutated.contains(&id)) + } else { + return true; + } } struct MutVarsDelegate {