Macros§
- assign_
id 🔒 - Wraps a call to
walk_*
/walk_flat_map_*
for an AST node that supports attributes (see theAnnotatable
enum) This method assigns aNodeId
, and sets thatNodeId
as our current ‘lint node id’. If a macro call is found inside this AST node, we will use this AST node’sNodeId
to emit lints associated with that macro (allowing#[allow]
/#[deny]
to be applied close to the macro invocation). - ast_
fragments 🔒
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
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§
- Invocation
Collector 🔒Node - A trait implemented for all
AstFragment
nodes and providing all pieces of functionality used byInvocationCollector
.