about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/middle/region.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/librustc/middle/region.rs b/src/librustc/middle/region.rs
index 13d07c720cb..b137961b08a 100644
--- a/src/librustc/middle/region.rs
+++ b/src/librustc/middle/region.rs
@@ -1044,9 +1044,9 @@ fn resolve_expr<'tcx>(visitor: &mut RegionResolutionVisitor<'tcx>, expr: &'tcx h
             debug!("resolve_expr - fixing up counts to {}", visitor.expr_and_pat_count);
 
             for scope in target_scopes {
-                let (span, count) = visitor.scope_tree.yield_in_scope.get_mut(&scope).unwrap();
-                let count = *count;
-                let span = *span;
+                let mut yield_data = visitor.scope_tree.yield_in_scope.get_mut(&scope).unwrap();
+                let count = yield_data.expr_and_pat_count;
+                let span = yield_data.span;
 
                 // expr_and_pat_count never decreases. Since we recorded counts in yield_in_scope
                 // before walking the left-hand side, it should be impossible for the recorded
@@ -1059,7 +1059,7 @@ fn resolve_expr<'tcx>(visitor: &mut RegionResolutionVisitor<'tcx>, expr: &'tcx h
                 debug!("resolve_expr - increasing count for scope {:?} from {} to {} at span {:?}",
                        scope, count, new_count, span);
 
-                visitor.scope_tree.yield_in_scope.insert(scope, (span, new_count));
+                yield_data.expr_and_pat_count = new_count;
             }
 
         }