[]Module rustc_data_structures::snapshot_vec

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

A utility class for implementing "snapshottable" things; a snapshottable data structure permits you to take a snapshot (via start_snapshot) and then, after making some changes, elect either to rollback to the start of the snapshot or commit those changes.

This vector is intended to be used as part of an abstraction, not serve as a complete abstraction on its own. As such, while it will roll back most changes on its own, it also supports a get_mut operation that gives you an arbitrary mutable pointer into the vector. To ensure that any changes you make this with this pointer are rolled back, you must invoke record to record any changes you make and also supplying a delegate capable of reversing those changes.

Structs

SnapshotInternal
SnapshotVecInternal

Enums

UndoLogInternal

Traits

SnapshotVecDelegateInternal