Skip to content

Commit f2c79f3

Browse files
committed
Handle attributes entirely in the def collector
1 parent c8862c7 commit f2c79f3

2 files changed

Lines changed: 7 additions & 11 deletions

File tree

compiler/rustc_resolve/src/build_reduced_graph.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ use rustc_ast::{
1212
self as ast, AssocItem, AssocItemKind, Block, ConstItem, Delegation, Fn, ForeignItem,
1313
ForeignItemKind, Inline, Item, ItemKind, NodeId, StaticItem, StmtKind, TraitAlias, TyAlias,
1414
};
15-
use rustc_attr_parsing as attr;
1615
use rustc_attr_parsing::AttributeParser;
1716
use rustc_expand::base::ResolverExpand;
1817
use rustc_hir::Attribute;
@@ -1470,15 +1469,6 @@ impl<'a, 'ra, 'tcx> DefCollector<'a, 'ra, 'tcx> {
14701469
}
14711470
}
14721471

1473-
pub(crate) fn brg_visit_attribute(&mut self, attr: &'a ast::Attribute) {
1474-
if !attr.is_doc_comment() && attr::is_builtin_attr(attr) {
1475-
self.r
1476-
.builtin_attrs
1477-
.push((attr.get_normal_item().path.segments[0].ident, self.parent_scope));
1478-
}
1479-
visit::walk_attribute(self, attr);
1480-
}
1481-
14821472
pub(crate) fn brg_visit_field_def(&mut self, sf: &'a ast::FieldDef) {
14831473
let vis = self.resolve_visibility(&sf.vis);
14841474
self.r.feed_visibility(self.r.feed(sf.id), vis);

compiler/rustc_resolve/src/def_collector.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::mem;
22

33
use rustc_ast::visit::FnKind;
44
use rustc_ast::*;
5+
use rustc_attr_parsing as attr;
56
use rustc_attr_parsing::{AttributeParser, Early, OmitDoc, ShouldEmit};
67
use rustc_expand::expand::AstFragment;
78
use rustc_hir as hir;
@@ -593,7 +594,12 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
593594

594595
fn visit_attribute(&mut self, attr: &'a Attribute) {
595596
let orig_in_attr = mem::replace(&mut self.invocation_parent.in_attr, true);
596-
self.brg_visit_attribute(attr);
597+
if !attr.is_doc_comment() && attr::is_builtin_attr(attr) {
598+
self.r
599+
.builtin_attrs
600+
.push((attr.get_normal_item().path.segments[0].ident, self.parent_scope));
601+
}
602+
visit::walk_attribute(self, attr);
597603
self.invocation_parent.in_attr = orig_in_attr;
598604
}
599605

0 commit comments

Comments
 (0)