Expand description
Context given to attribute parsers when parsing.
Re-exportsยง
use std::cell::RefCell;๐use std::collections::BTreeMap;๐use std::collections::btree_map::Entry;๐use std::mem;๐use std::ops::Deref;๐use std::ops::DerefMut;๐use std::sync::LazyLock;๐use std::sync::atomic::AtomicBool;๐use std::sync::atomic::Ordering;๐use rustc_ast::AttrStyle;๐use rustc_ast::MetaItemLit;๐use rustc_ast::Safety;๐use rustc_attr_ir::target::Target;๐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::DiagLocation;๐use rustc_errors::Diagnostic;๐use rustc_errors::Level;๐use rustc_errors::MultiSpan;๐use rustc_feature::AttributeStability;๐use rustc_lint_defs::builtin::UNUSED_ATTRIBUTES;๐use rustc_lint_defs::Lint;๐use rustc_lint_defs::LintId;๐use rustc_parse::parser::Recovery;๐use rustc_session::Session;๐use rustc_span::ErrorGuaranteed;๐use rustc_span::Ident;๐use rustc_span::Span;๐use rustc_span::Symbol;๐use crate::attributes::path::PathParser as PathAttributeParser;๐use crate::attributes::semantics::ComptimeParser;๐use crate::attributes::AttributeParser as _;๐use crate::attributes::AttributeSafety;๐use crate::attributes::Combine;๐use crate::attributes::Single;๐use crate::attributes::WithoutArgs;๐use crate::diagnostics::AttributeParseError;๐use crate::diagnostics::AttributeParseErrorReason;๐use crate::diagnostics::AttributeParseErrorSuggestions;๐use crate::diagnostics::ParsedDescription;๐use crate::diagnostics::UnusedDuplicate;๐use crate::parser::ArgParser;๐use crate::parser::MetaItemListParser;๐use crate::parser::MetaItemOrLitParser;๐use crate::parser::MetaItemParser;๐use crate::parser::NameValueParser;๐use crate::parser::RefPathParser;๐use crate::target_checking::AllowedTargets;๐use crate::AttributeParser;๐use crate::AttributeTemplate;๐use crate::EmitAttribute;๐use crate::attributes::allow_unstable::*;๐use crate::attributes::autodiff::*;๐use crate::attributes::body::*;๐use crate::attributes::cfi_encoding::*;๐use crate::attributes::codegen_attrs::*;๐use crate::attributes::confusables::*;๐use crate::attributes::crate_level::*;๐use crate::attributes::debugger::*;๐use crate::attributes::deprecation::*;๐use crate::attributes::diagnostic::do_not_recommend::*;๐use crate::attributes::diagnostic::on_const::*;๐use crate::attributes::diagnostic::on_move::*;๐use crate::attributes::diagnostic::on_type_error::*;๐use crate::attributes::diagnostic::on_unimplemented::*;๐use crate::attributes::diagnostic::on_unknown::*;๐use crate::attributes::diagnostic::on_unmatched_args::*;๐use crate::attributes::diagnostic::opaque::*;๐use crate::attributes::doc::*;๐use crate::attributes::dummy::*;๐use crate::attributes::inline::*;๐use crate::attributes::instruction_set::*;๐use crate::attributes::link_attrs::*;๐use crate::attributes::lint::*;๐use crate::attributes::lint_helpers::*;๐use crate::attributes::loop_match::*;๐use crate::attributes::macro_attrs::*;๐use crate::attributes::must_not_suspend::*;๐use crate::attributes::must_use::*;๐use crate::attributes::no_implicit_prelude::*;๐use crate::attributes::no_link::*;๐use crate::attributes::non_exhaustive::*;๐use crate::attributes::pin_v2::*;๐use crate::attributes::proc_macro_attrs::*;๐use crate::attributes::prototype::*;๐use crate::attributes::repr::*;๐use crate::attributes::rustc_allocator::*;๐use crate::attributes::rustc_dump::*;๐use crate::attributes::rustc_internal::*;๐use crate::attributes::semantics::*;๐use crate::attributes::splat::*;๐use crate::attributes::stability::*;๐use crate::attributes::test_attrs::*;๐use crate::attributes::traits::*;๐use crate::attributes::transparency::*;๐use crate::attributes::unroll::*;๐
Macrosยง
- attribute_
parsers ๐
Structsยง
- Accept
Context - Context given to every attribute parser when accepting
- Attribute
Diagnostic ๐Context - The interface for issuing argument parsing related diagnostics.
- Finalize
Check ๐Context - Context given to deferred cross-attribute checks (
finalize_check). - Finalize
Context ๐ - Context given to every attribute parser during finalization.
- Finalize
Output ๐ - The result of finalizing a single attribute parser.
- Group
Type ๐Inner - Group
Type ๐Inner Accept - Shared
Context - Context given to every attribute parser during finalization.
- Suggestion ๐
- Represents a custom suggestion that an attribute parser can emit.
Enumsยง
Staticsยง
- ATTRIBUTE_
PARSERS ๐
Traitsยง
- Expect
Name ๐Value - Expect
String ๐Literal
Type Aliasesยง
- Accept
Fn ๐ - Finalize
Check ๐Fn - A cross-attribute check that runs after all attributes on an item have been
finalized, so it can inspect the fully parsed attributes via
FinalizeCheckContext::parsed_attrs. TheSpanis the span of the attribute the check is associated with, used for diagnostics. - Finalize
Fn ๐ - Group
Type ๐