Trait rustc_data_structures::unify::UnificationStore [] [src]

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 { ... } }

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

Required Methods

Provided Methods

Implementors