pub struct Crate<'hir> {
pub owners: IndexVec<LocalDefId, MaybeOwner<&'hir OwnerInfo<'hir>>>,
pub hir_hash: Fingerprint,
}
Expand description
The top-level data structure that stores the entire contents of the crate currently being compiled.
For more details, see the rustc dev guide.
Fields§
§owners: IndexVec<LocalDefId, MaybeOwner<&'hir OwnerInfo<'hir>>>
§hir_hash: Fingerprint
Trait Implementations§
source§impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for Crate<'tcx>
impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for Crate<'tcx>
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self
fn allocate_from_iter<'a>(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = Self>
) -> &'a mut [Self] ⓘ
source§impl<HirCtx: HashStableContext> HashStable<HirCtx> for Crate<'_>
impl<HirCtx: HashStableContext> HashStable<HirCtx> for Crate<'_>
fn hash_stable(&self, hcx: &mut HirCtx, hasher: &mut StableHasher)
Auto Trait Implementations§
impl<'hir> !RefUnwindSafe for Crate<'hir>
impl<'hir> !Send for Crate<'hir>
impl<'hir> !Sync for Crate<'hir>
impl<'hir> Unpin for Crate<'hir>
impl<'hir> !UnwindSafe for Crate<'hir>
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes