rustc_attr_parsing/attributes/confusables.rs
1//! Parsing and validation of builtin attributes
2
3use rustc_ast::MetaItemInner;
4use rustc_ast::attr::AttributeExt;
5use rustc_span::Symbol;
6
7/// Read the content of a `rustc_confusables` attribute, and return the list of candidate names.
8pub fn parse_confusables(attr: &impl AttributeExt) -> Option<Vec<Symbol>> {
9 let metas = attr.meta_item_list()?;
10
11 let mut candidates = Vec::new();
12
13 for meta in metas {
14 let MetaItemInner::Lit(meta_lit) = meta else {
15 return None;
16 };
17 candidates.push(meta_lit.symbol);
18 }
19
20 Some(candidates)
21}