Trait rustc_ap_rustc_data_structures::unify::UnificationStore [−][src]
pub trait UnificationStore: UnificationStoreMut { type Snapshot; fn start_snapshot(&mut self) -> Self::Snapshot; fn rollback_to(&mut self, snapshot: Self::Snapshot); fn commit(&mut self, snapshot: Self::Snapshot); fn values_since_snapshot(&self, snapshot: &Self::Snapshot) -> Range<usize>ⓘ; }
Associated Types
Required methods
fn start_snapshot(&mut self) -> Self::Snapshot
[src]
fn rollback_to(&mut self, snapshot: Self::Snapshot)
[src]
fn commit(&mut self, snapshot: Self::Snapshot)
[src]
fn values_since_snapshot(&self, snapshot: &Self::Snapshot) -> Range<usize>ⓘ
[src]
Implementors
impl<K, V, L> UnificationStore for InPlace<K, V, L> where
K: UnifyKey,
V: VecLike<Delegate<K>>,
L: Snapshots<UndoLog<Delegate<K>>>,
[src]
impl<K, V, L> UnificationStore for InPlace<K, V, L> where
K: UnifyKey,
V: VecLike<Delegate<K>>,
L: Snapshots<UndoLog<Delegate<K>>>,
[src]type Snapshot = Snapshot<<L as Snapshots<UndoLog<Delegate<K>>>>::Snapshot>
pub fn start_snapshot(
&mut self
) -> <InPlace<K, V, L> as UnificationStore>::Snapshot
[src]
&mut self
) -> <InPlace<K, V, L> as UnificationStore>::Snapshot
pub fn rollback_to(
&mut self,
snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot
)
[src]
&mut self,
snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot
)
pub fn commit(
&mut self,
snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot
)
[src]
&mut self,
snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot
)
pub fn values_since_snapshot(
&self,
snapshot: &<InPlace<K, V, L> as UnificationStore>::Snapshot
) -> Range<usize>ⓘ
[src]
&self,
snapshot: &<InPlace<K, V, L> as UnificationStore>::Snapshot
) -> Range<usize>ⓘ