Struct rustc_ap_rustc_data_structures::undo_log::VecLog [−][src]
pub struct VecLog<T> { /* fields omitted */ }
Expand description
A basic undo log.
Trait Implementations
Returns true if self
has made any changes since snapshot started.
Returns the slice of actions that were taken since the snapshot began.
Starts a new snapshot. That snapshot must eventually either be committed via a call to commit or rollback via rollback_to. Snapshots can be nested (i.e., you can start a snapshot whilst another snapshot is in progress) but you must then commit or rollback the inner snapshot before attempting to commit or rollback the outer snapshot. Read more
pub fn rollback_to<R>(&mut self, values: impl FnOnce() -> R, snapshot: Snapshot) where
R: Rollback<T>,
pub fn rollback_to<R>(&mut self, values: impl FnOnce() -> R, snapshot: Snapshot) where
R: Rollback<T>,
Rollback (undo) the changes made to storage
since the snapshot.
How many open snapshots this undo log currently has
Pushes a new “undo item” onto the undo log. This method is invoked when some action is taken (e.g., a variable is unified). It records the info needed to reverse that action should an enclosing snapshot be rolleod back. Read more
True if a snapshot has started, false otherwise
Extends the undo log with many undos.
Auto Trait Implementations
impl<T> RefUnwindSafe for VecLog<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for VecLog<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V