Trait rustc_data_structures::unify::UnificationStore
[−]
pub trait UnificationStore: Index<usize, Output = VarValue<Self::Key>> + Clone where
<Self::Key as UnifyKey>::Value == Self::Value, { type Key: UnifyKey; type Value: UnifyValue; type Snapshot; fn new() -> Self; fn start_snapshot(&mut self) -> Self::Snapshot; fn rollback_to(&mut self, snapshot: Self::Snapshot); fn commit(&mut self, snapshot: Self::Snapshot); fn len(&self) -> usize; fn push(&mut self, value: VarValue<Self::Key>); fn update<F>(&mut self, index: usize, op: F)
where
F: FnOnce(&mut VarValue<Self::Key>); 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?
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 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 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?