pub fn snapshot(&mut self) -> InferenceSnapshot {
        let unify_snapshot = self.unify.snapshot();
        let vars = self.vars.clone();
        InferenceSnapshot { unify_snapshot, vars }
    }
/// Takes a "snapshot" of the current state of the inference
/// table.  Later, you must invoke either `rollback_to` or
/// `commit` with that snapshot.  Snapshots can be nested, but you
/// must respect a stack discipline (i.e., rollback or commit
/// snapshots in reverse order of that with which they were
/// created).
Takes a "snapshot" of the current state of the inference
table.  Later, you must invoke either `rollback_to` or
`commit` with that snapshot.  Snapshots can be nested, but you
must respect a stack discipline .
Takes a " snapshot " of the current state of the inference table . Later you must invoke either ` rollback_to ` or ` commit ` with that snapshot . Snapshots can be nested but you must respect a stack discipline .
pub fn snapshot(&mut self) -> InferenceSnapshot {
        let unify_snapshot = self.unify.snapshot();
        let vars = self.vars.clone();
        InferenceSnapshot { unify_snapshot, vars }
    }
pub fn snapshot ( & mut self ) -> InferenceSnapshot { let unify_snapshot = self . unify . snapshot ( ) ; let vars = self . vars . clone ( ) ; InferenceSnapshot { unify_snapshot , vars } }
Takes a "snapshot" of the current state of the inference
table.
Takes a " snapshot " of the current state of the inference table .
&mut self