Re-exportsΒ§
use std::path::PathBuf;πuse std::rc::Rc;πuse std::sync::Arc;πuse std::iter;πuse std::mem;πuse std::slice;πuse rustc_ast::tokenstream::TokenStream;πuse rustc_ast::visit::AssocCtxt;πuse rustc_ast::visit::Visitor;πuse rustc_ast::visit::VisitorResult;πuse rustc_ast::visit::try_visit;πuse rustc_ast::visit::walk_list;πuse rustc_ast as ast;πuse rustc_ast::AssocItemKind;πuse rustc_ast::AstNodeWrapper;πuse rustc_ast::AttrArgs;πuse rustc_ast::AttrKind;πuse rustc_ast::AttrStyle;πuse rustc_ast::AttrVec;πuse rustc_ast::DUMMY_NODE_ID;πuse rustc_ast::DelegationSource;πuse rustc_ast::DelegationSuffixes;πuse rustc_ast::ExprKind;πuse rustc_ast::ForeignItemKind;πuse rustc_ast::HasAttrs;πuse rustc_ast::HasNodeId;πuse rustc_ast::Inline;πuse rustc_ast::ItemKind;πuse rustc_ast::MacStmtStyle;πuse rustc_ast::MetaItemInner;πuse rustc_ast::MetaItemKind;πuse rustc_ast::ModKind;πuse rustc_ast::NodeId;πuse rustc_ast::PatKind;πuse rustc_ast::StmtKind;πuse rustc_ast::SyntheticAttr;πuse rustc_ast::TyKind;πuse rustc_ast::token;πuse rustc_ast_pretty::pprust;πuse rustc_attr_ir::target::AstTarget;πuse rustc_attr_ir::target::Target;πuse rustc_attr_parsing::parser::AllowExprMetavar;πuse rustc_attr_parsing::AttributeParser;πuse rustc_attr_parsing::AttributeSafety;πuse rustc_attr_parsing::CFG_TEMPLATE;πuse rustc_attr_parsing::EvalConfigResult;πuse rustc_attr_parsing::ShouldEmit;πuse rustc_attr_parsing::eval_config_entry;πuse rustc_attr_parsing::parse_cfg;πuse rustc_attr_parsing::validate_attr;πuse rustc_data_structures::flat_map_in_place::FlatMapInPlace;πuse rustc_errors::PResult;πuse rustc_feature::Features;πuse rustc_hir::def::MacroKinds;πuse rustc_lint_defs::builtin::UNUSED_ATTRIBUTES;πuse rustc_lint_defs::builtin::UNUSED_DOC_COMMENTS;πuse rustc_parse::parser::AllowConstBlockItems;πuse rustc_parse::parser::AttemptLocalParseRecovery;πuse rustc_parse::parser::CommaRecoveryMode;πuse rustc_parse::parser::ForceCollect;πuse rustc_parse::parser::Parser;πuse rustc_parse::parser::RecoverColon;πuse rustc_parse::parser::RecoverComma;πuse rustc_parse::parser::Recovery;πuse rustc_parse::parser::token_descr;πuse rustc_session::diagnostics::feature_err;πuse rustc_span::hygiene::SyntaxContext;πuse rustc_span::ErrorGuaranteed;πuse rustc_span::FileName;πuse rustc_span::Ident;πuse rustc_span::LocalExpnId;πuse rustc_span::Span;πuse rustc_span::Symbol;πuse rustc_span::sym;πuse rustc_structures::Limit;πuse smallvec::SmallVec;πuse crate::config::StripUnconfigured;πuse crate::diagnostics::CfgNotSupportedInPosition;πuse crate::diagnostics::EmptyDelegationMac;πuse crate::diagnostics::GlobDelegationOutsideImpls;πuse crate::diagnostics::GlobDelegationTraitlessQpath;πuse crate::diagnostics::IncompleteParse;πuse crate::diagnostics::RecursionLimitReached;πuse crate::diagnostics::RemoveExprNotSupported;πuse crate::diagnostics::UnsupportedKeyValue;πuse crate::diagnostics::WrongFragmentKind;πuse crate::mbe::diagnostics::annotate_err_with_kind;πuse crate::module::DirOwnership;πuse crate::module::ParsedExternalMod;πuse crate::module::mod_dir_path;πuse crate::module::mod_file_path_from_attr;πuse crate::module::parse_external_mod;πuse crate::placeholders::PlaceholderExpander;πuse crate::placeholders::placeholder;πuse rustc_ast::mut_visit::*;πuse crate::base::*;πuse crate::stats::*;π
MacrosΒ§
- assign_
id π - Wraps a call to
walk_*/walk_flat_map_*for an AST node that supports attributes (see theAnnotatableenum) This method assigns aNodeId, and sets thatNodeIdas our current βlint node idβ. If a macro call is found inside this AST node, we will use this AST nodeβsNodeIdto emit lints associated with that macro (allowing#[allow]/#[deny]to be applied close to the macro invocation). - ast_
fragments π - declared_
idents π
StructsΒ§
- Expansion
Config - Impl
Item πTag - Invocation
- Invocation
Collector π - Macro
Expander - Method
Receiver πTag - This struct is a hack to workaround unstable of
stmt_expr_attributes. It can be removed once that feature is stabilized. - OptExpr
Tag π - Trait
Impl πItem Tag - Trait
Item πTag
EnumsΒ§
- AddSemicolon π
- AstFragment
- A fragment of AST that can be produced by a single macro expansion. Can also serve as an input and intermediate result for macro expansion operations.
- AstFragment
Kind - βDiscriminantβ of an AST fragment.
- Invocation
Kind - Supports
Macro Expansion
TraitsΒ§
- Declared
Idents - Dummy
AstNode π - Required for
visit_nodeobtained an ownedNodefrom&mut Node. - Invocation
Collector πNode - A trait implemented for all
AstFragmentnodes and providing all pieces of functionality used byInvocationCollector.