Decode context used when we just have a blob of metadata from which we have to decode a header
and CrateRoot. After that, MetadataDecodeContext can be used.
Most notably, [BlobDecodeContext] doesnβt implement SpanDecoder
A reference to the raw binary version of crate metadata.
This struct applies MemDecoderβs validation when constructed
so that later constructions are guaranteed to succeed.
This is the decode context used when crate metadata was already read.
Decoding of some types, like Span require some information to already been read.
Can be constructed from a TyCtxt and CrateMetadataRef (see the Metadata trait)
A map from external crate numbers (as decoded from some crate file) to
local crate numbers (as generated during this session). Each external
crate may refer to types in other external crates, and each has their
own crate numbers.