Skip to content

Commit 17aef21

Browse files
committed
Remove NonMacroAttr.mark_used
1 parent af46699 commit 17aef21

File tree

4 files changed

+9
-18
lines changed

4 files changed

+9
-18
lines changed

compiler/rustc_expand/src/base.rs

+4-7
Original file line numberDiff line numberDiff line change
@@ -654,10 +654,7 @@ pub enum SyntaxExtensionKind {
654654
/// A trivial attribute "macro" that does nothing,
655655
/// only keeps the attribute and marks it as inert,
656656
/// thus making it ineligible for further expansion.
657-
NonMacroAttr {
658-
/// Suppresses the `unused_attributes` lint for this attribute.
659-
mark_used: bool,
660-
},
657+
NonMacroAttr,
661658

662659
/// A token-based derive macro.
663660
Derive(
@@ -706,7 +703,7 @@ impl SyntaxExtension {
706703
SyntaxExtensionKind::Bang(..) | SyntaxExtensionKind::LegacyBang(..) => MacroKind::Bang,
707704
SyntaxExtensionKind::Attr(..)
708705
| SyntaxExtensionKind::LegacyAttr(..)
709-
| SyntaxExtensionKind::NonMacroAttr { .. } => MacroKind::Attr,
706+
| SyntaxExtensionKind::NonMacroAttr => MacroKind::Attr,
710707
SyntaxExtensionKind::Derive(..) | SyntaxExtensionKind::LegacyDerive(..) => {
711708
MacroKind::Derive
712709
}
@@ -812,8 +809,8 @@ impl SyntaxExtension {
812809
SyntaxExtension::default(SyntaxExtensionKind::Derive(Box::new(expander)), edition)
813810
}
814811

815-
pub fn non_macro_attr(mark_used: bool, edition: Edition) -> SyntaxExtension {
816-
SyntaxExtension::default(SyntaxExtensionKind::NonMacroAttr { mark_used }, edition)
812+
pub fn non_macro_attr(edition: Edition) -> SyntaxExtension {
813+
SyntaxExtension::default(SyntaxExtensionKind::NonMacroAttr, edition)
817814
}
818815

819816
pub fn expn_data(

compiler/rustc_expand/src/expand.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
753753
}
754754
}
755755
}
756-
SyntaxExtensionKind::NonMacroAttr { mark_used: _ } => {
756+
SyntaxExtensionKind::NonMacroAttr => {
757757
self.cx.expanded_inert_attrs.mark(&attr);
758758
item.visit_attrs(|attrs| attrs.insert(pos, attr));
759759
fragment_kind.expect_from_annotatables(iter::once(item))

compiler/rustc_resolve/src/build_reduced_graph.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ impl<'a> Resolver<'a> {
195195
crate fn get_macro(&mut self, res: Res) -> Option<Lrc<SyntaxExtension>> {
196196
match res {
197197
Res::Def(DefKind::Macro(..), def_id) => Some(self.get_macro_by_def_id(def_id)),
198-
Res::NonMacroAttr(attr_kind) => Some(self.non_macro_attr(attr_kind.is_used())),
198+
Res::NonMacroAttr(_) => Some(self.non_macro_attr.clone()),
199199
_ => None,
200200
}
201201
}

compiler/rustc_resolve/src/lib.rs

+3-9
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,7 @@ pub struct Resolver<'a> {
968968
macro_map: FxHashMap<DefId, Lrc<SyntaxExtension>>,
969969
dummy_ext_bang: Lrc<SyntaxExtension>,
970970
dummy_ext_derive: Lrc<SyntaxExtension>,
971-
non_macro_attrs: [Lrc<SyntaxExtension>; 2],
971+
non_macro_attr: Lrc<SyntaxExtension>,
972972
local_macro_def_scopes: FxHashMap<LocalDefId, Module<'a>>,
973973
ast_transform_scopes: FxHashMap<LocalExpnId, Module<'a>>,
974974
unused_macros: FxHashMap<LocalDefId, (NodeId, Span)>,
@@ -1293,8 +1293,6 @@ impl<'a> Resolver<'a> {
12931293
macros::registered_attrs_and_tools(session, &krate.attrs);
12941294

12951295
let features = session.features_untracked();
1296-
let non_macro_attr =
1297-
|mark_used| Lrc::new(SyntaxExtension::non_macro_attr(mark_used, session.edition()));
12981296

12991297
let mut resolver = Resolver {
13001298
session,
@@ -1361,7 +1359,7 @@ impl<'a> Resolver<'a> {
13611359
macro_map: FxHashMap::default(),
13621360
dummy_ext_bang: Lrc::new(SyntaxExtension::dummy_bang(session.edition())),
13631361
dummy_ext_derive: Lrc::new(SyntaxExtension::dummy_derive(session.edition())),
1364-
non_macro_attrs: [non_macro_attr(false), non_macro_attr(true)],
1362+
non_macro_attr: Lrc::new(SyntaxExtension::non_macro_attr(session.edition())),
13651363
invocation_parent_scopes: Default::default(),
13661364
output_macro_rules_scopes: Default::default(),
13671365
helper_attrs: Default::default(),
@@ -1476,15 +1474,11 @@ impl<'a> Resolver<'a> {
14761474
self.crate_loader.cstore()
14771475
}
14781476

1479-
fn non_macro_attr(&self, mark_used: bool) -> Lrc<SyntaxExtension> {
1480-
self.non_macro_attrs[mark_used as usize].clone()
1481-
}
1482-
14831477
fn dummy_ext(&self, macro_kind: MacroKind) -> Lrc<SyntaxExtension> {
14841478
match macro_kind {
14851479
MacroKind::Bang => self.dummy_ext_bang.clone(),
14861480
MacroKind::Derive => self.dummy_ext_derive.clone(),
1487-
MacroKind::Attr => self.non_macro_attr(true),
1481+
MacroKind::Attr => self.non_macro_attr.clone(),
14881482
}
14891483
}
14901484

0 commit comments

Comments
 (0)