Skip to main content

Module context

Module context 

Source
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ยง

AcceptContext
Context given to every attribute parser when accepting
AttributeDiagnosticContext ๐Ÿ”’
The interface for issuing argument parsing related diagnostics.
FinalizeCheckContext ๐Ÿ”’
Context given to deferred cross-attribute checks (finalize_check).
FinalizeContext ๐Ÿ”’
Context given to every attribute parser during finalization.
FinalizeOutput ๐Ÿ”’
The result of finalizing a single attribute parser.
GroupTypeInner ๐Ÿ”’
GroupTypeInnerAccept ๐Ÿ”’
SharedContext
Context given to every attribute parser during finalization.
Suggestion ๐Ÿ”’
Represents a custom suggestion that an attribute parser can emit.

Enumsยง

ShouldEmit

Staticsยง

ATTRIBUTE_PARSERS ๐Ÿ”’

Traitsยง

ExpectNameValue ๐Ÿ”’
ExpectStringLiteral ๐Ÿ”’

Type Aliasesยง

AcceptFn ๐Ÿ”’
FinalizeCheckFn ๐Ÿ”’
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. The Span is the span of the attribute the check is associated with, used for diagnostics.
FinalizeFn ๐Ÿ”’
GroupType ๐Ÿ”’