[−]Trait rustc_data_structures::unify::UnificationStore
🔬 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?
Largely internal trait implemented by the unification table
backing store types. The most common such type is InPlace,
which indicates a standard, mutable unification table.
Associated Types
type Key: UnifyKey
🔬 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?
type Value: UnifyValue
🔬 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?
type Snapshot
🔬 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?
Required Methods
fn new() -> Self
🔬 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 start_snapshot(&mut self) -> Self::Snapshot
🔬 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 rollback_to(&mut self, snapshot: Self::Snapshot)
🔬 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 commit(&mut self, snapshot: Self::Snapshot)
🔬 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 reset_unifications<impl FnMut(u32) -> VarValue>(
&mut self,
value: impl FnMut(u32) -> VarValue
) where
impl FnMut(u32) -> VarValue: FnMut(u32) -> VarValue<Self::Key>,
&mut self,
value: impl FnMut(u32) -> VarValue
) where
impl FnMut(u32) -> VarValue
🔬 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 len(&self) -> usize
🔬 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 push(&mut self, value: VarValue<Self::Key>)
🔬 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 reserve(&mut self, num_new_values: usize)
🔬 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 update<F>(&mut self, index: usize, op: F) where
F: FnOnce(&mut VarValue<Self::Key>),
F: FnOnce(&mut VarValue<Self::Key>),
🔬 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?
Provided Methods
fn tag() -> &'static str
🔬 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?
Implementors
impl<K> UnificationStore for InPlace<K> where
K: UnifyKey,
impl<K> UnificationStore for InPlace<K> where
K: UnifyKey, type Key = K
🔬 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?
type Value = <K as UnifyKey>::Value
🔬 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?
type Snapshot = Snapshot
🔬 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 new() -> InPlace<K>
fn new() -> InPlace<K>🔬 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 start_snapshot(&mut self) -> <InPlace<K> as UnificationStore>::Snapshot
fn start_snapshot(&mut self) -> <InPlace<K> as UnificationStore>::Snapshot🔬 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 rollback_to(&mut self, snapshot: <InPlace<K> as UnificationStore>::Snapshot)
fn rollback_to(&mut self, snapshot: <InPlace<K> as UnificationStore>::Snapshot)🔬 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 commit(&mut self, snapshot: <InPlace<K> as UnificationStore>::Snapshot)
fn commit(&mut self, snapshot: <InPlace<K> as UnificationStore>::Snapshot)🔬 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 reset_unifications<impl FnMut(u32) -> VarValue>(
&mut self,
value: impl FnMut(u32) -> VarValue
) where
impl FnMut(u32) -> VarValue: FnMut(u32) -> VarValue<<InPlace<K> as UnificationStore>::Key>,
fn reset_unifications<impl FnMut(u32) -> VarValue>(
&mut self,
value: impl FnMut(u32) -> VarValue
) where
impl FnMut(u32) -> VarValue: FnMut(u32) -> VarValue<<InPlace<K> as UnificationStore>::Key>, 🔬 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 len(&self) -> usize
fn len(&self) -> usize🔬 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 push(&mut self, value: VarValue<<InPlace<K> as UnificationStore>::Key>)
fn push(&mut self, value: VarValue<<InPlace<K> as UnificationStore>::Key>)🔬 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 reserve(&mut self, num_new_values: usize)
fn reserve(&mut self, num_new_values: usize)🔬 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 update<F>(&mut self, index: usize, op: F) where
F: FnOnce(&mut VarValue<<InPlace<K> as UnificationStore>::Key>),
fn update<F>(&mut self, index: usize, op: F) where
F: FnOnce(&mut VarValue<<InPlace<K> as UnificationStore>::Key>), 🔬 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 tag() -> &'static str
fn tag() -> &'static str🔬 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?