rustc_attr_parsing/attributes/
rustc.rs

1use rustc_attr_data_structures::AttributeKind;
2use rustc_span::sym;
3
4use super::{AcceptContext, SingleAttributeParser};
5use crate::parser::ArgParser;
6
7pub(crate) struct RustcMacroEdition2021Parser;
8
9// FIXME(jdonszelmann): make these proper diagnostics
10impl SingleAttributeParser for RustcMacroEdition2021Parser {
11    const PATH: &'static [rustc_span::Symbol] = &[sym::rustc_macro_edition_2021];
12
13    fn on_duplicate(_cx: &crate::context::AcceptContext<'_>, _first_span: rustc_span::Span) {}
14
15    fn convert(_cx: &AcceptContext<'_>, args: &ArgParser<'_>) -> Option<AttributeKind> {
16        assert!(args.no_args());
17        Some(AttributeKind::RustcMacroEdition2021)
18    }
19}