pub(crate) struct AllocMap<'tcx> {
alloc_map: FxHashMap<AllocId, GlobalAlloc<'tcx>>,
dedup: FxHashMap<GlobalAlloc<'tcx>, AllocId>,
next_id: AllocId,
}
Fields
alloc_map: FxHashMap<AllocId, GlobalAlloc<'tcx>>
Maps AllocId
s to their corresponding allocations.
dedup: FxHashMap<GlobalAlloc<'tcx>, AllocId>
Used to ensure that statics and functions only get one associated AllocId
.
Should never contain a GlobalAlloc::Memory
!
next_id: AllocId
The AllocId
to assign to the next requested ID.
Always incremented; never gets smaller.
Implementations
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for AllocMap<'tcx>
impl<'tcx> Send for AllocMap<'tcx>
impl<'tcx> Sync for AllocMap<'tcx>
impl<'tcx> Unpin for AllocMap<'tcx>
impl<'tcx> !UnwindSafe for AllocMap<'tcx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
sourceimpl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
sourceimpl<CTX, T> Value<CTX> for Twhere
CTX: DepContext,
impl<CTX, T> Value<CTX> for Twhere
CTX: DepContext,
default fn from_cycle_error(tcx: CTX) -> T
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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: 72 bytes