rustc_attr_parsing/attributes/dummy.rs
1use rustc_feature::{AttributeTemplate, template};
2use rustc_hir::attrs::AttributeKind;
3use rustc_span::{Symbol, sym};
4
5use crate::attributes::{AttributeOrder, OnDuplicate, SingleAttributeParser};
6use crate::context::{ALL_TARGETS, AcceptContext, AllowedTargets, Stage};
7use crate::parser::ArgParser;
8pub(crate) struct DummyParser;
9impl<S: Stage> SingleAttributeParser<S> for DummyParser {
10 const PATH: &[Symbol] = &[sym::rustc_dummy];
11 const ATTRIBUTE_ORDER: AttributeOrder = AttributeOrder::KeepInnermost;
12 const ON_DUPLICATE: OnDuplicate<S> = OnDuplicate::Ignore;
13 const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(ALL_TARGETS);
14 const TEMPLATE: AttributeTemplate = template!(Word); // Anything, really
15
16 fn convert(_: &mut AcceptContext<'_, '_, S>, _: &ArgParser<'_>) -> Option<AttributeKind> {
17 Some(AttributeKind::Dummy)
18 }
19}