Skip to content

Commit 18ec324

Browse files
committed
Auto merge of #4166 - mati865:rustup, r=Manishearth
Rustup for rust-lang/rust#61276 changelog: none
2 parents f5d6804 + 9fefe36 commit 18ec324

File tree

5 files changed

+21
-31
lines changed

5 files changed

+21
-31
lines changed

clippy_lints/src/escape.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoxedLocal {
7979

8080
let fn_def_id = cx.tcx.hir().local_def_id_from_hir_id(hir_id);
8181
let region_scope_tree = &cx.tcx.region_scope_tree(fn_def_id);
82-
ExprUseVisitor::new(&mut v, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None).consume_body(body);
82+
ExprUseVisitor::new(&mut v, cx.tcx, fn_def_id, cx.param_env, region_scope_tree, cx.tables, None).consume_body(body);
8383

8484
for node in v.set {
8585
span_lint(

clippy_lints/src/loops.rs

+9-20
Original file line numberDiff line numberDiff line change
@@ -1662,7 +1662,7 @@ fn check_for_mutation(
16621662
};
16631663
let def_id = def_id::DefId::local(body.hir_id.owner);
16641664
let region_scope_tree = &cx.tcx.region_scope_tree(def_id);
1665-
ExprUseVisitor::new(&mut delegate, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None).walk_expr(body);
1665+
ExprUseVisitor::new(&mut delegate, cx.tcx, def_id, cx.param_env, region_scope_tree, cx.tables, None).walk_expr(body);
16661666
delegate.mutation_span()
16671667
}
16681668

@@ -1769,7 +1769,7 @@ impl<'a, 'tcx> VarVisitor<'a, 'tcx> {
17691769
}
17701770
let res = self.cx.tables.qpath_res(seqpath, seqexpr.hir_id);
17711771
match res {
1772-
Res::Local(hir_id) | Res::Upvar(hir_id, ..) => {
1772+
Res::Local(hir_id) => {
17731773
let parent_id = self.cx.tcx.hir().get_parent_item(expr.hir_id);
17741774
let parent_def_id = self.cx.tcx.hir().local_def_id_from_hir_id(parent_id);
17751775
let extent = self.cx.tcx.region_scope_tree(parent_def_id).var_scope(hir_id.local_id);
@@ -1829,24 +1829,13 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> {
18291829
if let QPath::Resolved(None, ref path) = *qpath;
18301830
if path.segments.len() == 1;
18311831
then {
1832-
match self.cx.tables.qpath_res(qpath, expr.hir_id) {
1833-
Res::Upvar(local_id, ..) => {
1834-
if local_id == self.var {
1835-
// we are not indexing anything, record that
1836-
self.nonindex = true;
1837-
}
1838-
}
1839-
Res::Local(local_id) =>
1840-
{
1841-
1842-
if local_id == self.var {
1843-
self.nonindex = true;
1844-
} else {
1845-
// not the correct variable, but still a variable
1846-
self.referenced.insert(path.segments[0].ident.name);
1847-
}
1832+
if let Res::Local(local_id) = self.cx.tables.qpath_res(qpath, expr.hir_id) {
1833+
if local_id == self.var {
1834+
self.nonindex = true;
1835+
} else {
1836+
// not the correct variable, but still a variable
1837+
self.referenced.insert(path.segments[0].ident.name);
18481838
}
1849-
_ => {}
18501839
}
18511840
}
18521841
}
@@ -2378,7 +2367,7 @@ impl<'a, 'tcx> VarCollectorVisitor<'a, 'tcx> {
23782367
let res = self.cx.tables.qpath_res(qpath, ex.hir_id);
23792368
then {
23802369
match res {
2381-
Res::Local(node_id) | Res::Upvar(node_id, ..) => {
2370+
Res::Local(node_id) => {
23822371
self.ids.insert(node_id);
23832372
},
23842373
Res::Def(DefKind::Static, def_id) => {

clippy_lints/src/misc.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -600,9 +600,10 @@ fn in_attributes_expansion(expr: &Expr) -> bool {
600600

601601
/// Tests whether `res` is a variable defined outside a macro.
602602
fn non_macro_local(cx: &LateContext<'_, '_>, res: def::Res) -> bool {
603-
match res {
604-
def::Res::Local(id) | def::Res::Upvar(id, ..) => !in_macro_or_desugar(cx.tcx.hir().span_by_hir_id(id)),
605-
_ => false,
603+
if let def::Res::Local(id) = res {
604+
!in_macro_or_desugar(cx.tcx.hir().span_by_hir_id(id))
605+
} else {
606+
false
606607
}
607608
}
608609

clippy_lints/src/needless_pass_by_value.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessPassByValue {
137137
} = {
138138
let mut ctx = MovedVariablesCtxt::new(cx);
139139
let region_scope_tree = &cx.tcx.region_scope_tree(fn_def_id);
140-
euv::ExprUseVisitor::new(&mut ctx, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None)
140+
euv::ExprUseVisitor::new(&mut ctx, cx.tcx, fn_def_id, cx.param_env, region_scope_tree, cx.tables, None)
141141
.consume_body(body);
142142
ctx
143143
};

clippy_lints/src/utils/usage.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ pub fn mutated_variables<'a, 'tcx: 'a>(expr: &'tcx Expr, cx: &'a LateContext<'a,
1616
};
1717
let def_id = def_id::DefId::local(expr.hir_id.owner);
1818
let region_scope_tree = &cx.tcx.region_scope_tree(def_id);
19-
ExprUseVisitor::new(&mut delegate, cx.tcx, cx.param_env, region_scope_tree, cx.tables, None).walk_expr(expr);
19+
ExprUseVisitor::new(&mut delegate, cx.tcx, def_id, cx.param_env, region_scope_tree, cx.tables, None).walk_expr(expr);
2020

2121
if delegate.skip {
2222
return None;
@@ -29,11 +29,11 @@ pub fn is_potentially_mutated<'a, 'tcx: 'a>(
2929
expr: &'tcx Expr,
3030
cx: &'a LateContext<'a, 'tcx>,
3131
) -> bool {
32-
let id = match variable.res {
33-
Res::Local(id) | Res::Upvar(id, ..) => id,
34-
_ => return true,
35-
};
36-
mutated_variables(expr, cx).map_or(true, |mutated| mutated.contains(&id))
32+
if let Res::Local(id) = variable.res {
33+
mutated_variables(expr, cx).map_or(true, |mutated| mutated.contains(&id))
34+
} else {
35+
return true
36+
}
3737
}
3838

3939
struct MutVarsDelegate {

0 commit comments

Comments
 (0)