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> !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, 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,
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> 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, _: &[QueryInfo]) -> 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