Expand description
API for other crates to parse attributes themselves.
Re-exportsยง
use std::convert::identity;๐use std::sync::atomic::AtomicBool;๐use std::sync::atomic::Ordering;๐use rustc_ast as ast;๐use rustc_ast::token::DocFragmentKind;๐use rustc_ast::AttrStyle;๐use rustc_ast::CRATE_NODE_ID;๐use rustc_ast::NodeId;๐use rustc_ast::Safety;๐use rustc_attr_ir::target::AstTarget;๐use rustc_attr_ir::target::Target;๐use rustc_attr_ir::AttrArgs;๐use rustc_attr_ir::AttrItem;๐use rustc_attr_ir::AttrPath;๐use rustc_attr_ir::Attribute;๐use rustc_attr_ir::AttributeKind;๐use rustc_attr_ir::HashIgnoredAttrId;๐use rustc_data_structures::sync::DynSend;๐use rustc_data_structures::sync::DynSync;๐use rustc_errors::Diag;๐use rustc_errors::DiagCtxtHandle;๐use rustc_errors::Diagnostic;๐use rustc_errors::Level;๐use rustc_errors::MultiSpan;๐use rustc_feature::BUILTIN_ATTRIBUTE_SET;๐use rustc_feature::Features;๐use rustc_lint_defs::LintId;๐use rustc_lint_defs::RegisteredTools;๐use rustc_session::Session;๐use rustc_span::DUMMY_SP;๐use rustc_span::ErrorGuaranteed;๐use rustc_span::Span;๐use rustc_span::Symbol;๐use rustc_span::sym;๐use crate::attributes::AttributeSafety;๐use crate::context::ATTRIBUTE_PARSERS;๐use crate::context::AcceptContext;๐use crate::context::FinalizeCheckContext;๐use crate::context::FinalizeCheckFn;๐use crate::context::FinalizeContext;๐use crate::context::FinalizeFn;๐use crate::context::FinalizeOutput;๐use crate::diagnostics::ParsedDescription;๐use crate::generated::GeneratedAttrState;๐use crate::parser::AllowExprMetavar;๐use crate::parser::ArgParser;๐use crate::parser::PathParser;๐use crate::parser::RefPathParser;๐use crate::synthetic::SyntheticAttrState;๐use crate::AttributeTemplate;๐use crate::ShouldEmit;๐
Structsยง
- Attribute
Parser - Context created once, for example as part of the ast lowering context, through which all attributes can be lowered.
- Emit
Attribute