Skip to main content

Module parser

Module parser 

Source
Expand description

Parsing of attribute arguments.

Depending on the attribute parser, an ArgParser can be used to parse the arguments given to an attribute. See its documentation for more information.

This is in essence an (improved) duplicate of rustc_ast/attr/mod.rs. That module is intended to be deleted in its entirety.

FIXME(jdonszelmann): delete rustc_ast/attr/mod.rs

Re-exportsยง

use std::borrow::Borrow; ๐Ÿ”’
use std::fmt::Debug; ๐Ÿ”’
use std::fmt::Debug; ๐Ÿ”’
use std::fmt::Display; ๐Ÿ”’
use std::sync::atomic::AtomicBool; ๐Ÿ”’
use std::sync::atomic::Ordering; ๐Ÿ”’
use rustc_ast::token; ๐Ÿ”’
use rustc_ast::token::Delimiter; ๐Ÿ”’
use rustc_ast::token::MetaVarKind; ๐Ÿ”’
use rustc_ast::tokenstream::TokenStream; ๐Ÿ”’
use rustc_ast::AttrArgs; ๐Ÿ”’
use rustc_ast::Expr; ๐Ÿ”’
use rustc_ast::ExprKind; ๐Ÿ”’
use rustc_ast::LitKind; ๐Ÿ”’
use rustc_ast::MetaItemLit; ๐Ÿ”’
use rustc_ast::Path; ๐Ÿ”’
use rustc_ast::PathSegment; ๐Ÿ”’
use rustc_ast::StmtKind; ๐Ÿ”’
use rustc_ast::UnOp; ๐Ÿ”’
use rustc_ast_pretty::pprust; ๐Ÿ”’
use rustc_attr_ir::AttrPath; ๐Ÿ”’
use rustc_errors::Applicability; ๐Ÿ”’
use rustc_errors::Diag; ๐Ÿ”’
use rustc_errors::PResult; ๐Ÿ”’
use rustc_parse::exp; ๐Ÿ”’
use rustc_parse::parser::ForceCollect; ๐Ÿ”’
use rustc_parse::parser::Parser; ๐Ÿ”’
use rustc_parse::parser::PathStyle; ๐Ÿ”’
use rustc_parse::parser::Recovery; ๐Ÿ”’
use rustc_parse::parser::token_descr; ๐Ÿ”’
use rustc_session::diagnostics::create_lit_error; ๐Ÿ”’
use rustc_session::parse::ParseSess; ๐Ÿ”’
use rustc_span::Ident; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use thin_vec::ThinVec; ๐Ÿ”’
use crate::ShouldEmit; ๐Ÿ”’
use crate::diagnostics::AdditionalCommaSuggestion; ๐Ÿ”’
use crate::diagnostics::ExpectedComma; ๐Ÿ”’
use crate::diagnostics::InvalidMetaItem; ๐Ÿ”’
use crate::diagnostics::InvalidMetaItemQuoteIdentSugg; ๐Ÿ”’
use crate::diagnostics::InvalidMetaItemRemoveNegSugg; ๐Ÿ”’
use crate::diagnostics::MetaBadDelim; ๐Ÿ”’
use crate::diagnostics::MetaBadDelimSugg; ๐Ÿ”’
use crate::diagnostics::SuffixedLiteralInAttribute; ๐Ÿ”’

Structsยง

MetaItemListParser
MetaItemListParserContext ๐Ÿ”’
MetaItemParser
Utility that deconstructs a MetaItem into usable parts.
NameValueParser
PathParser

Enumsยง

AllowExprMetavar
Whether expansions of expr metavariables from declarative macros are permitted. Used when parsing meta items; currently, only cfg predicates enable this option
ArgParser
Used for parsing attribute arguments.
MetaItemOrLitParser
Inside lists, values could be either literals, or more deeply nested meta items. This enum represents that.

Functionsยง

expr_to_lit ๐Ÿ”’

Type Aliasesยง

OwnedPathParser
RefPathParser