Struct rustc::ty::context::InterpretInternerInner [−][src]
struct InterpretInternerInner<'tcx> {
allocs: FxHashSet<&'tcx Allocation>,
functions: FxHashMap<AllocId, Instance<'tcx>>,
function_cache: FxHashMap<Instance<'tcx>, AllocId>,
alloc_by_id: FxHashMap<AllocId, &'tcx Allocation>,
statics: FxHashMap<AllocId, DefId>,
next_id: AllocId,
static_cache: FxHashMap<DefId, AllocId>,
literal_alloc_cache: FxHashMap<Vec<u8>, AllocId>,
}🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Fields
allocs: FxHashSet<&'tcx Allocation>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Stores the value of constants (and deduplicates the actual memory)
functions: FxHashMap<AllocId, Instance<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Allows obtaining function instance handles via a unique identifier
function_cache: FxHashMap<Instance<'tcx>, AllocId>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Inverse map of interpret_functions.
Used so we don't allocate a new pointer every time we need one
alloc_by_id: FxHashMap<AllocId, &'tcx Allocation>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Allows obtaining const allocs via a unique identifier
statics: FxHashMap<AllocId, DefId>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Allows obtaining static def ids via a unique id
next_id: AllocId
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
The AllocId to assign to the next new regular allocation. Always incremented, never gets smaller.
static_cache: FxHashMap<DefId, AllocId>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Inverse map of statics
Used so we don't allocate a new pointer every time we need one
literal_alloc_cache: FxHashMap<Vec<u8>, AllocId>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
A cache for basic byte allocations keyed by their contents. This is used to deduplicate allocations for string and bytestring literals.
Trait Implementations
impl<'tcx> Debug for InterpretInternerInner<'tcx>[src]
impl<'tcx> Debug for InterpretInternerInner<'tcx>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<'tcx> Default for InterpretInternerInner<'tcx>[src]
impl<'tcx> Default for InterpretInternerInner<'tcx>fn default() -> InterpretInternerInner<'tcx>[src]
fn default() -> InterpretInternerInner<'tcx>Returns the "default value" for a type. Read more
Auto Trait Implementations
impl<'tcx> !Send for InterpretInternerInner<'tcx>
impl<'tcx> !Send for InterpretInternerInner<'tcx>impl<'tcx> !Sync for InterpretInternerInner<'tcx>
impl<'tcx> !Sync for InterpretInternerInner<'tcx>