Serialized metadata for a crate.
When compiling a proc-macro crate, we encode many of
Lazy<[T]> fields as
Lazy::empty(). This serves two purposes:
A value of type T referred to by its absolute position in the metadata, and which can be decoded lazily.
Contains a constant which has been rendered to a String. Used by rustdoc.
Describes whether the container of an associated item is a trait or an impl and whether, in a trait, it has a default, or an in impl, whether it’s marked “default”.
Encoding / decoding state for
Metadata header which includes
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
Additional metadata for a
T may not be
Lazy<[T]>, this is the length (count of