Expand description
Re-exports§
pub use self::ast_traits::AstDeref;pub use self::ast_traits::AstNodeWrapper;pub use self::ast_traits::HasAttrs;pub use self::ast_traits::HasNodeId;pub use self::ast_traits::HasSpan;pub use self::ast_traits::HasTokens;pub use self::ast::*;
Modules§
- The Rust abstract syntax tree module.
- A set of traits implemented for various AST nodes, typically those used in AST fragments during macro expansion. The traits are not implemented exhaustively, only when actually necessary.
- Functions dealing with attributes and meta items.
- Definitions shared by macros / syntax extensions and e.g.
rustc_middle. - A
MutVisitorrepresents an AST modification; it accepts an AST piece and mutates it in place. So, for instance, macro expansion is aMutVisitorthat walks over an AST and modifies it. - The AST pointer.
- Token Streams
- AST walker. Each overridden visit method has full control over what happens with its node, it can do its own traversal of the node’s children, call
visit::walk_*to apply the default traversal algorithm, or prevent deeper traversal by doing nothing.
Traits§
- Requirements for a
StableHashingContextto be used in this crate. This is a hack to allow using theHashStable_Genericderive macro instead of implementing everything inrustc_middle.