[−][src]Trait rustc_ap_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)
ⓘImportant traits for Range<A>fn values_since_snapshot(&self, snapshot: &Self::Snapshot) -> Range<usize>
ⓘImportant traits for Range<A>
fn reset_unifications(&mut self, value: impl FnMut(u32) -> VarValue<Self::Key>)
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]
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]
ⓘImportant traits for Range<A>fn values_since_snapshot(
&self,
snapshot: &<InPlace<K> as UnificationStore>::Snapshot
) -> Range<usize>
[src]
ⓘImportant traits for Range<A>
&self,
snapshot: &<InPlace<K> as UnificationStore>::Snapshot
) -> Range<usize>
fn reset_unifications(
&mut self,
value: impl FnMut(u32) -> VarValue<<InPlace<K> as UnificationStore>::Key>
)
[src]
&mut self,
value: impl FnMut(u32) -> VarValue<<InPlace<K> as UnificationStore>::Key>
)
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
F: FnOnce(&mut VarValue<<InPlace<K> as UnificationStore>::Key>),
[src]
F: FnOnce(&mut VarValue<<InPlace<K> as UnificationStore>::Key>),