about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2017-11-05 18:46:37 -0500
committerNiko Matsakis <niko@alum.mit.edu>2017-11-16 05:57:44 -0500
commita8daa37df694279d0e9241ccba46533926dfd70d (patch)
tree88ffd596fcd10550fa7d55465c33c0ce33c4daa8 /src
parent524e23ae2e842a6f52d5fc4d5819473b73a335ef (diff)
downloadrust-a8daa37df694279d0e9241ccba46533926dfd70d.tar.gz
rust-a8daa37df694279d0e9241ccba46533926dfd70d.zip
region_constraints: only push givens into undo-log if in a snapshot
Diffstat (limited to 'src')
-rw-r--r--src/librustc/infer/region_constraints/mod.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc/infer/region_constraints/mod.rs b/src/librustc/infer/region_constraints/mod.rs
index 634e4642600..749a47004da 100644
--- a/src/librustc/infer/region_constraints/mod.rs
+++ b/src/librustc/infer/region_constraints/mod.rs
@@ -562,7 +562,9 @@ impl<'tcx> RegionConstraintCollector<'tcx> {
         if self.data.givens.insert((sub, sup)) {
             debug!("add_given({:?} <= {:?})", sub, sup);
 
-            self.undo_log.push(AddGiven(sub, sup));
+            if self.in_snapshot() {
+                self.undo_log.push(AddGiven(sub, sup));
+            }
         }
     }