diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs index e3eac2e6068076ef20177cf48dd282b593ef321b..f9a71f3c52b5a05e7a921b5519d42135dc9806de 100644 --- a/src/librustc/lint/context.rs +++ b/src/librustc/lint/context.rs @@ -555,7 +555,6 @@ fn visit_ids(&mut self, f: F) { let mut v = ast_util::IdVisitor { operation: self, - pass_through_items: false, visited_outermost: false, }; f(&mut v); @@ -583,11 +582,7 @@ fn new(tcx: &'a ty::ctxt<'tcx>, fn visit_ids(&mut self, f: F) where F: FnOnce(&mut util::IdVisitor) { - let mut v = util::IdVisitor { - operation: self, - pass_through_items: false, - visited_outermost: false, - }; + let mut v = util::IdVisitor::new(self); f(&mut v); } } diff --git a/src/librustc/metadata/inline.rs b/src/librustc/metadata/inline.rs index a5ca68e4350ebb7193f48325ad45ff57f8e7b0f5..52b34586089c8e8d699ef665484b8f388716d872 100644 --- a/src/librustc/metadata/inline.rs +++ b/src/librustc/metadata/inline.rs @@ -48,11 +48,7 @@ pub fn visit<'ast,V>(&'ast self, visitor: &mut V) } pub fn visit_ids(&self, operation: &mut O) { - let mut id_visitor = IdVisitor { - operation: operation, - pass_through_items: true, - visited_outermost: false, - }; + let mut id_visitor = IdVisitor::new(operation); self.visit(&mut id_visitor); } diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs index f46e55e24414081edb708232852dbe98d5502ff9..39ec3ef5b008b5747fd08d20b55a972833b40c4b 100644 --- a/src/librustc/middle/check_match.rs +++ b/src/librustc/middle/check_match.rs @@ -485,11 +485,7 @@ fn record_renamings(const_expr: &hir::Expr, renaming_map: renaming_map, }; - let mut id_visitor = front_util::IdVisitor { - operation: &mut renaming_recorder, - pass_through_items: true, - visited_outermost: false, - }; + let mut id_visitor = front_util::IdVisitor::new(&mut renaming_recorder); id_visitor.visit_expr(const_expr); } diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index f1c88232fc45a4b3fad6f2646d5d5d28a48bb2ba..44334762d90225c50e6fa19ba577082587be0429 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -289,7 +289,6 @@ pub trait IdVisitingOperation { pub struct IdVisitor<'a, O:'a> { pub operation: &'a mut O, - pub pass_through_items: bool, pub visited_outermost: bool, } @@ -319,12 +318,10 @@ fn visit_foreign_item(&mut self, foreign_item: &ForeignItem) { } fn visit_item(&mut self, item: &Item) { - if !self.pass_through_items { - if self.visited_outermost { - return - } else { - self.visited_outermost = true - } + if self.visited_outermost { + return + } else { + self.visited_outermost = true } self.operation.visit_id(item.id); @@ -390,12 +387,10 @@ fn visit_fn(&mut self, block: &'v Block, span: Span, node_id: NodeId) { - if !self.pass_through_items { - match function_kind { - FnKind::Method(..) if self.visited_outermost => return, - FnKind::Method(..) => self.visited_outermost = true, - _ => {} - } + match function_kind { + FnKind::Method(..) if self.visited_outermost => return, + FnKind::Method(..) => self.visited_outermost = true, + _ => {} } self.operation.visit_id(node_id); @@ -420,10 +415,8 @@ fn visit_fn(&mut self, block, span); - if !self.pass_through_items { - if let FnKind::Method(..) = function_kind { - self.visited_outermost = false; - } + if let FnKind::Method(..) = function_kind { + self.visited_outermost = false; } } @@ -497,7 +490,6 @@ pub fn compute_id_range_for_fn_body(fk: FnKind, let mut visitor = IdRangeComputingVisitor::new(); let mut id_visitor = IdVisitor { operation: &mut visitor, - pass_through_items: false, visited_outermost: false, }; id_visitor.visit_fn(fk, decl, body, sp, id);