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::*;
pub use self::format::*;
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
MutVisitor
represents an AST modification; it accepts an AST piece and mutates it in place. So, for instance, macro expansion is aMutVisitor
that 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.
Macros
Traits
- Requirements for a
StableHashingContext
to be used in this crate. This is a hack to allow using theHashStable_Generic
derive macro instead of implementing everything inrustc_middle
.