[][src]Crate syntax

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

The Rust parser and macro expander.

Note

This API is completely unstable and subject to change.

Modules

astInternal

The Rust abstract syntax tree module.

attrInternal

Functions dealing with attributes and meta items.

entryInternal
expandInternal

Definitions shared by macros / syntax extensions and e.g. librustc.

mut_visitInternal

A MutVisitor represents an AST modification; it accepts an AST piece and and mutates it in place. So, for instance, macro expansion is a MutVisitor that walks over an AST and modifies it.

printInternal
ptrInternal

The AST pointer.

sessInternal

Contains ParseSess which holds state living beyond what one Parser might. It also serves as an input to the parser itself.

tokenInternal
tokenstreamInternal

Token Streams

utilInternal
visitInternal

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

unwrap_orInternal
walk_listInternal

Structs

GlobalsInternal

Statics

GLOBALSInternal

Traits

HashStableContextInternal

Requirements for a StableHashingContext to be used in this crate. This is a hack to allow using the HashStable_Generic derive macro instead of implementing everything in librustc.

Functions

with_default_globalsInternal
with_globalsInternal