Skip to content

Commit

Permalink
Make SnapshotMap::{commit, rollback_to} take references
Browse files Browse the repository at this point in the history
  • Loading branch information
ljedrz committed Aug 9, 2018
1 parent 76b69a6 commit ffdac5d
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/librustc/infer/mod.rs
Expand Up @@ -709,7 +709,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {

self.projection_cache
.borrow_mut()
.commit(projection_cache_snapshot);
.commit(&projection_cache_snapshot);
self.type_variables
.borrow_mut()
.commit(type_snapshot);
Expand Down
6 changes: 3 additions & 3 deletions src/librustc/traits/project.rs
Expand Up @@ -1668,15 +1668,15 @@ impl<'tcx> ProjectionCache<'tcx> {
}

pub fn rollback_to(&mut self, snapshot: ProjectionCacheSnapshot) {
self.map.rollback_to(snapshot.snapshot);
self.map.rollback_to(&snapshot.snapshot);
}

pub fn rollback_skolemized(&mut self, snapshot: &ProjectionCacheSnapshot) {
self.map.partial_rollback(&snapshot.snapshot, &|k| k.ty.has_re_skol());
}

pub fn commit(&mut self, snapshot: ProjectionCacheSnapshot) {
self.map.commit(snapshot.snapshot);
pub fn commit(&mut self, snapshot: &ProjectionCacheSnapshot) {
self.map.commit(&snapshot.snapshot);
}

/// Try to start normalize `key`; returns an error if
Expand Down
10 changes: 5 additions & 5 deletions src/librustc_data_structures/snapshot_map/mod.rs
Expand Up @@ -92,7 +92,7 @@ impl<K, V> SnapshotMap<K, V>
pub fn snapshot(&mut self) -> Snapshot {
self.undo_log.push(UndoLog::OpenSnapshot);
let len = self.undo_log.len() - 1;
Snapshot { len: len }
Snapshot { len }
}

fn assert_open_snapshot(&self, snapshot: &Snapshot) {
Expand All @@ -103,8 +103,8 @@ impl<K, V> SnapshotMap<K, V>
});
}

pub fn commit(&mut self, snapshot: Snapshot) {
self.assert_open_snapshot(&snapshot);
pub fn commit(&mut self, snapshot: &Snapshot) {
self.assert_open_snapshot(snapshot);
if snapshot.len == 0 {
// The root snapshot.
self.undo_log.truncate(0);
Expand Down Expand Up @@ -135,8 +135,8 @@ impl<K, V> SnapshotMap<K, V>
}
}

pub fn rollback_to(&mut self, snapshot: Snapshot) {
self.assert_open_snapshot(&snapshot);
pub fn rollback_to(&mut self, snapshot: &Snapshot) {
self.assert_open_snapshot(snapshot);
while self.undo_log.len() > snapshot.len + 1 {
let entry = self.undo_log.pop().unwrap();
self.reverse(entry);
Expand Down
8 changes: 4 additions & 4 deletions src/librustc_data_structures/snapshot_map/test.rs
Expand Up @@ -20,7 +20,7 @@ fn basic() {
map.insert(44, "fourty-four");
assert_eq!(map[&44], "fourty-four");
assert_eq!(map.get(&33), None);
map.rollback_to(snapshot);
map.rollback_to(&snapshot);
assert_eq!(map[&22], "twenty-two");
assert_eq!(map.get(&33), None);
assert_eq!(map.get(&44), None);
Expand All @@ -33,7 +33,7 @@ fn out_of_order() {
map.insert(22, "twenty-two");
let snapshot1 = map.snapshot();
let _snapshot2 = map.snapshot();
map.rollback_to(snapshot1);
map.rollback_to(&snapshot1);
}

#[test]
Expand All @@ -43,8 +43,8 @@ fn nested_commit_then_rollback() {
let snapshot1 = map.snapshot();
let snapshot2 = map.snapshot();
map.insert(22, "thirty-three");
map.commit(snapshot2);
map.commit(&snapshot2);
assert_eq!(map[&22], "thirty-three");
map.rollback_to(snapshot1);
map.rollback_to(&snapshot1);
assert_eq!(map[&22], "twenty-two");
}

0 comments on commit ffdac5d

Please sign in to comment.