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>

Notable traits for Range<A>

impl<A> Iterator for Range<A> where
    A: Step
type Item = A;
; }

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>

Notable traits for Range<A>

impl<A> Iterator for Range<A> where
    A: Step
type Item = A;
[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]

type Snapshot = Snapshot<<L as Snapshots<UndoLog<Delegate<K>>>>::Snapshot>

pub fn start_snapshot(
    &mut self
) -> <InPlace<K, V, L> as UnificationStore>::Snapshot
[src]

pub fn rollback_to(
    &mut self,
    snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot
)
[src]

pub fn commit(
    &mut self,
    snapshot: <InPlace<K, V, L> as UnificationStore>::Snapshot
)
[src]

pub fn values_since_snapshot(
    &self,
    snapshot: &<InPlace<K, V, L> as UnificationStore>::Snapshot
) -> Range<usize>

Notable traits for Range<A>

impl<A> Iterator for Range<A> where
    A: Step
type Item = A;
[src]