Struct rustc::ty::context::CtxtInterners [−][src]
pub struct CtxtInterners<'tcx> {
arena: &'tcx SyncDroplessArena,
type_: Lock<FxHashSet<Interned<'tcx, TyS<'tcx>>>>,
type_list: Lock<FxHashSet<Interned<'tcx, Slice<Ty<'tcx>>>>>,
substs: Lock<FxHashSet<Interned<'tcx, Substs<'tcx>>>>,
canonical_var_infos: Lock<FxHashSet<Interned<'tcx, Slice<CanonicalVarInfo>>>>,
region: Lock<FxHashSet<Interned<'tcx, RegionKind>>>,
existential_predicates: Lock<FxHashSet<Interned<'tcx, Slice<ExistentialPredicate<'tcx>>>>>,
predicates: Lock<FxHashSet<Interned<'tcx, Slice<Predicate<'tcx>>>>>,
const_: Lock<FxHashSet<Interned<'tcx, Const<'tcx>>>>,
clauses: Lock<FxHashSet<Interned<'tcx, Slice<Clause<'tcx>>>>>,
goals: Lock<FxHashSet<Interned<'tcx, Slice<Goal<'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?
Fields
arena: &'tcx SyncDroplessArena
🔬 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 arena that types, regions, etc are allocated from
type_: Lock<FxHashSet<Interned<'tcx, TyS<'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?
Specifically use a speedy hash algorithm for these hash sets, they're accessed quite often.
type_list: Lock<FxHashSet<Interned<'tcx, Slice<Ty<'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?
substs: Lock<FxHashSet<Interned<'tcx, Substs<'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?
canonical_var_infos: Lock<FxHashSet<Interned<'tcx, Slice<CanonicalVarInfo>>>>
🔬 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?
region: Lock<FxHashSet<Interned<'tcx, RegionKind>>>
🔬 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?
existential_predicates: Lock<FxHashSet<Interned<'tcx, Slice<ExistentialPredicate<'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?
predicates: Lock<FxHashSet<Interned<'tcx, Slice<Predicate<'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?
const_: Lock<FxHashSet<Interned<'tcx, Const<'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?
clauses: Lock<FxHashSet<Interned<'tcx, Slice<Clause<'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?
goals: Lock<FxHashSet<Interned<'tcx, Slice<Goal<'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?
Methods
impl<'gcx: 'tcx, 'tcx> CtxtInterners<'tcx>[src]
impl<'gcx: 'tcx, 'tcx> CtxtInterners<'tcx>fn new(arena: &'tcx SyncDroplessArena) -> CtxtInterners<'tcx>[src]
fn new(arena: &'tcx SyncDroplessArena) -> CtxtInterners<'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?
fn intern_ty(
&self,
st: TypeVariants<'tcx>,
global_interners: Option<&CtxtInterners<'gcx>>
) -> Ty<'tcx>[src]
fn intern_ty(
&self,
st: TypeVariants<'tcx>,
global_interners: Option<&CtxtInterners<'gcx>>
) -> Ty<'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?
Intern a type. global_interners is Some only if this is a local interner and global_interners is its counterpart.
Auto Trait Implementations
impl<'tcx> !Send for CtxtInterners<'tcx>
impl<'tcx> !Send for CtxtInterners<'tcx>impl<'tcx> !Sync for CtxtInterners<'tcx>
impl<'tcx> !Sync for CtxtInterners<'tcx>