assign_id 🔒

Wraps a call to noop_visit_* / noop_flat_map_* for an AST node that supports attributes (see the Annotatable enum) This method assigns a NodeId, and sets that NodeId as our current ‘lint node id’. If a macro call is found inside this AST node, we will use this AST node’s NodeId to emit lints associated with that macro (allowing #[allow] / #[deny] to be applied close to the macro invocation).



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.

“Discriminant” of an AST fragment.


A trait implemented for all AstFragment nodes and providing all pieces of functionality used by InvocationCollector.