pub struct Crate<'hir> {
pub owners: IndexVec<LocalDefId, MaybeOwner<&'hir OwnerInfo<'hir>>>,
pub opt_hir_hash: Option<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>>>
§opt_hir_hash: Option<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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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: 48 bytes