Struct rustc_middle::mir::interpret::AllocMap
source · 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> DynSend for AllocMap<'tcx>
impl<'tcx> DynSync for AllocMap<'tcx>
impl<'tcx> Freeze for AllocMap<'tcx>
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§
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
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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