Re-exports

pub use decoder::provide_extern;
pub use encoder::encode_metadata;
pub use encoder::EncodedMetadata;

Modules

decoder 🔒
encoder 🔒
table 🔒

Macros

Define LazyTables and TableBuilders at the same time.

Structs

CrateDep 🔒
CrateRoot 🔒
Serialized metadata for a crate. When compiling a proc-macro crate, we encode many of the LazyArray<T> fields as Lazy::empty(). This serves two purposes:
LazyArray 🔒
A list of lazily-decoded values.
LazyTable 🔒
A list of lazily-decoded values, with the added capability of random access.
LazyTables 🔒
LazyValue 🔒
A value of type T referred to by its absolute position in the metadata, and which can be decoded lazily.
RawDefId 🔒
On-disk representation of DefId. This creates a type-safe way to enforce that we remap the CrateNum between the on-disk representation and the compilation session.
TraitImpls 🔒

Enums

LazyState 🔒
Encoding / decoding state for Lazys (LazyValue, LazyArray, and LazyTable).

Constants

Metadata header which includes METADATA_VERSION.
Metadata encoding version. N.B., increment this if you change the format of metadata such that the rustc version can’t be found to compare with rustc_version().
SYMBOL_STR 🔒

Functions

Type Definitions