Handle attributes entirely in the def collector

This commit is contained in:
Oli Scherer
2026-04-08 13:14:28 +02:00
parent c8862c74b2
commit f2c79f3fc6
2 changed files with 7 additions and 11 deletions
@@ -12,7 +12,6 @@
self as ast, AssocItem, AssocItemKind, Block, ConstItem, Delegation, Fn, ForeignItem,
ForeignItemKind, Inline, Item, ItemKind, NodeId, StaticItem, StmtKind, TraitAlias, TyAlias,
};
use rustc_attr_parsing as attr;
use rustc_attr_parsing::AttributeParser;
use rustc_expand::base::ResolverExpand;
use rustc_hir::Attribute;
@@ -1470,15 +1469,6 @@ pub(crate) fn visit_assoc_item_mac_call(
}
}
pub(crate) fn brg_visit_attribute(&mut self, attr: &'a ast::Attribute) {
if !attr.is_doc_comment() && attr::is_builtin_attr(attr) {
self.r
.builtin_attrs
.push((attr.get_normal_item().path.segments[0].ident, self.parent_scope));
}
visit::walk_attribute(self, attr);
}
pub(crate) fn brg_visit_field_def(&mut self, sf: &'a ast::FieldDef) {
let vis = self.resolve_visibility(&sf.vis);
self.r.feed_visibility(self.r.feed(sf.id), vis);
+7 -1
View File
@@ -2,6 +2,7 @@
use rustc_ast::visit::FnKind;
use rustc_ast::*;
use rustc_attr_parsing as attr;
use rustc_attr_parsing::{AttributeParser, Early, OmitDoc, ShouldEmit};
use rustc_expand::expand::AstFragment;
use rustc_hir as hir;
@@ -593,7 +594,12 @@ fn visit_crate(&mut self, krate: &'a Crate) {
fn visit_attribute(&mut self, attr: &'a Attribute) {
let orig_in_attr = mem::replace(&mut self.invocation_parent.in_attr, true);
self.brg_visit_attribute(attr);
if !attr.is_doc_comment() && attr::is_builtin_attr(attr) {
self.r
.builtin_attrs
.push((attr.get_normal_item().path.segments[0].ident, self.parent_scope));
}
visit::walk_attribute(self, attr);
self.invocation_parent.in_attr = orig_in_attr;
}