Re-exportsΒ§
use std::any::Any;πuse std::default::Default;πuse std::default::Default;πuse std::path::PathBuf;πuse std::rc::Rc;πuse std::sync::Arc;πuse rustc_ast::attr::MarkedAttrs;πuse rustc_ast::tokenstream::TokenStream;πuse rustc_ast::visit::AssocCtxt;πuse rustc_ast::visit::Visitor;πuse rustc_ast as ast;πuse rustc_ast::AttrVec;πuse rustc_ast::Attribute;πuse rustc_ast::HasAttrs;πuse rustc_ast::Item;πuse rustc_ast::NodeId;πuse rustc_ast::PatKind;πuse rustc_ast::Safety;πuse rustc_attr_ir as attrs;πuse rustc_attr_ir::CfgEntry;πuse rustc_attr_ir::Deprecation;πuse rustc_attr_ir::Stability;πuse rustc_attr_ir::find_attr;πuse rustc_data_structures::fx::FxHashMap;πuse rustc_data_structures::fx::FxIndexMap;πuse rustc_data_structures::sync;πuse rustc_errors::BufferedEarlyLint;πuse rustc_errors::DiagCtxtHandle;πuse rustc_errors::ErrorGuaranteed;πuse rustc_feature::Features;πuse rustc_hir::def::MacroKinds;πuse rustc_lint_defs::RegisteredTools;πuse rustc_parse::MACRO_ARGUMENTS;πuse rustc_parse::parser::Parser;πuse rustc_session::Session;πuse rustc_session::parse::ParseSess;πuse rustc_span::def_id::CrateNum;πuse rustc_span::def_id::DefId;πuse rustc_span::def_id::LocalDefId;πuse rustc_span::def_id::ModId;πuse rustc_span::edition::Edition;πuse rustc_span::hygiene::AstPass;πuse rustc_span::hygiene::ExpnData;πuse rustc_span::hygiene::ExpnKind;πuse rustc_span::hygiene::LocalExpnId;πuse rustc_span::hygiene::MacroKind;πuse rustc_span::source_map::SourceMap;πuse rustc_span::DUMMY_SP;πuse rustc_span::Ident;πuse rustc_span::Span;πuse rustc_span::Symbol;πuse rustc_structures::CollapseMacroDebuginfo;πuse rustc_structures::Limit;πuse smallvec::SmallVec;πuse smallvec::smallvec;πuse thin_vec::ThinVec;πuse crate::diagnostics;πuse crate::expand;πuse crate::expand::AstFragment;πuse crate::expand::Invocation;πuse crate::mbe::macro_rules::ParserAnyMacro;πuse crate::module::DirOwnership;πuse crate::stats::MacroStat;π
StructsΒ§
- Derive
Resolution - Dummy
Result - Fill-in macro expansion result, to allow compilation to continue after hitting errors.
- Expansion
Data - ExtCtxt
- One of these is made during expansion and incrementally updated as we go;
when a macro expansion occurs, the resulting nodes have the
backtrace() -> expn_dataof their expansion context stored into their span. - Indeterminate
- Error type that denotes indeterminacy.
- MacEager
MacResultimplementation for the common case where youβve already built each form of AST that you might return.- Module
Data - Syntax
Extension - A struct representing a macro definition in βloweredβ form ready for expansion.
EnumsΒ§
- Annotatable
- This type encapsulates every AST node that can have attributes, i.e. those
nodes with a non-trivial implementation of
HasAttrs. - Expand
Result - Result of an expansion that may need to be retried.
Consider using this for non-
MultiItemModifierexpanders as well. - Syntax
Extension Kind - A syntax extension kind.
TraitsΒ§
- Attr
Proc Macro - Bang
Proc Macro - Glob
Delegation Expander - Lint
Store Expand - MacResult
- The result of a macro expansion. The return values of the various methods are spliced into the AST at the callsite of the macro.
- Multi
Item Modifier - Resolver
Expand - TTMacro
Expander - Represents a thing that maps token trees to Macro Results
FunctionsΒ§
- make_
stmts_ πdefault