Module syntax_pos::hygiene [] [src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Machinery for hygienic macros, inspired by the MTWT[1] paper.

[1] Matthew Flatt, Ryan Culpepper, David Darais, and Robert Bruce Findler. 2012. Macros that work together: Compile-time bindings, partial expansion, and definition contexts. J. Funct. Program. 22, 2 (March 2012), 181-216. DOI=10.1017/S0956796812000093 http://dx.doi.org/10.1017/S0956796812000093

Structs

ExpnInfo [
Experimental
]

Extra information for tracking spans of macro and syntax sugar expansion

Mark [
Experimental
]

A mark is a unique id associated with a macro expansion.

NameAndSpan [
Experimental
]
SyntaxContext [
Experimental
]

A SyntaxContext represents a chain of macro expansions (represented by marks).

SyntaxContextData [
Experimental
]

Enums

CompilerDesugaringKind [
Experimental
]

The kind of compiler desugaring.

ExpnFormat [
Experimental
]

The source of expansion.

MarkKind [
Experimental
]

Functions

clear_markings [
Experimental
]