[−][src]Trait rustc_data_structures::unify::UnificationStore
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
Loading content...Required methods
fn start_snapshot(&mut self) -> Self::Snapshot
fn rollback_to(&mut self, snapshot: Self::Snapshot)
fn commit(&mut self, snapshot: Self::Snapshot)
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
fn len(&self) -> usize
fn push(&mut self, value: VarValue<Self::Key>)
fn reserve(&mut self, num_new_values: usize)
fn update<F>(&mut self, index: usize, op: F) where
F: FnOnce(&mut VarValue<Self::Key>),
F: FnOnce(&mut VarValue<Self::Key>),
Provided methods
Loading content...Implementors
impl<K> UnificationStore for InPlace<K> where
K: UnifyKey,
[src]
impl<K> UnificationStore for InPlace<K> where
K: UnifyKey,
type Key = K
type Value = <K as UnifyKey>::Value
type Snapshot = Snapshot
fn start_snapshot(&mut self) -> <InPlace<K> as UnificationStore>::Snapshot | [src] |
fn rollback_to(&mut self, snapshot: <InPlace<K> as UnificationStore>::Snapshot) | [src] |
fn commit(&mut self, snapshot: <InPlace<K> as UnificationStore>::Snapshot) | [src] |
fn reset_unifications<impl FnMut(u32) -> VarValue | [src] |
fn len(&self) -> usize | [src] |
fn push(&mut self, value: VarValue<<InPlace<K> as UnificationStore>::Key>) | [src] |
fn reserve(&mut self, num_new_values: usize) | [src] |
fn update<F>(&mut self, index: usize, op: F) where | [src] |
fn tag() -> &'static str | [src] |