diff --git a/compiler/rustc_lint/src/early.rs b/compiler/rustc_lint/src/early.rs index 2ab948958d04..5de35dc08560 100644 --- a/compiler/rustc_lint/src/early.rs +++ b/compiler/rustc_lint/src/early.rs @@ -63,20 +63,12 @@ fn with_lint_attrs(&mut self, id: ast::NodeId, attrs: &'a [ast::Attribute], f let push = self.context.builder.push(attrs, is_crate_node, None); self.check_id(id); - self.enter_attrs(attrs); - f(self); - self.exit_attrs(attrs); - self.context.builder.pop(push); - } - - fn enter_attrs(&mut self, attrs: &'a [ast::Attribute]) { debug!("early context: enter_attrs({:?})", attrs); run_early_pass!(self, enter_lint_attrs, attrs); - } - - fn exit_attrs(&mut self, attrs: &'a [ast::Attribute]) { + f(self); debug!("early context: exit_attrs({:?})", attrs); run_early_pass!(self, exit_lint_attrs, attrs); + self.context.builder.pop(push); } } diff --git a/compiler/rustc_lint/src/late.rs b/compiler/rustc_lint/src/late.rs index e9b14b2693ca..c1d8d76c975d 100644 --- a/compiler/rustc_lint/src/late.rs +++ b/compiler/rustc_lint/src/late.rs @@ -59,9 +59,11 @@ fn with_lint_attrs(&mut self, id: hir::HirId, f: F) let attrs = self.context.tcx.hir().attrs(id); let prev = self.context.last_node_with_lint_attrs; self.context.last_node_with_lint_attrs = id; - self.enter_attrs(attrs); + debug!("late context: enter_attrs({:?})", attrs); + lint_callback!(self, enter_lint_attrs, attrs); f(self); - self.exit_attrs(attrs); + debug!("late context: exit_attrs({:?})", attrs); + lint_callback!(self, exit_lint_attrs, attrs); self.context.last_node_with_lint_attrs = prev; } @@ -81,16 +83,6 @@ fn process_mod(&mut self, m: &'tcx hir::Mod<'tcx>, s: Span, n: hir::HirId) { hir_visit::walk_mod(self, m, n); lint_callback!(self, check_mod_post, m, s, n); } - - fn enter_attrs(&mut self, attrs: &'tcx [ast::Attribute]) { - debug!("late context: enter_attrs({:?})", attrs); - lint_callback!(self, enter_lint_attrs, attrs); - } - - fn exit_attrs(&mut self, attrs: &'tcx [ast::Attribute]) { - debug!("late context: exit_attrs({:?})", attrs); - lint_callback!(self, exit_lint_attrs, attrs); - } } impl<'tcx, T: LateLintPass<'tcx>> hir_visit::Visitor<'tcx> for LateContextAndPass<'tcx, T> {