about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClint Frederickson <clint.frederickson@ironcorelabs.com>2019-02-12 19:35:32 -0700
committerClint Frederickson <clint.frederickson@ironcorelabs.com>2019-02-12 19:35:32 -0700
commit4e5eda36978e8868ee75001efb6388aa22326be0 (patch)
tree68ca22d55a142f946e416a00be25379763f1f42f
parentd4c52bfb1708bf1c53ea2fc722aa4d9762982e90 (diff)
downloadrust-4e5eda36978e8868ee75001efb6388aa22326be0.tar.gz
rust-4e5eda36978e8868ee75001efb6388aa22326be0.zip
compute is_partial_move outside of the move_site loop for clarity
-rw-r--r--src/librustc_mir/borrow_check/error_reporting.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/librustc_mir/borrow_check/error_reporting.rs b/src/librustc_mir/borrow_check/error_reporting.rs
index 53b486cc6e3..e42c12125ee 100644
--- a/src/librustc_mir/borrow_check/error_reporting.rs
+++ b/src/librustc_mir/borrow_check/error_reporting.rs
@@ -130,7 +130,15 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
             );
 
             let mut is_loop_move = false;
-            let mut is_partial_move = false;
+            let is_partial_move = move_site_vec.iter().any(|move_site| {
+                let move_out = self.move_data.moves[(*move_site).moi];
+                let moved_place = &self.move_data.move_paths[move_out.path].place;
+//                dbg!(moved_place);
+//                dbg!(used_place);
+//                if used_place != moved_place {
+                    used_place.is_prefix_of(moved_place)
+//                } else { false }
+            });
             for move_site in &move_site_vec {
                 let move_out = self.move_data.moves[(*move_site).moi];
                 let moved_place = &self.move_data.move_paths[move_out.path].place;
@@ -138,7 +146,6 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
                 let move_spans = self.move_spans(moved_place, move_out.source);
                 let move_span = move_spans.args_or_use();
 
-                is_partial_move = used_place.is_prefix_of(moved_place);
                 let move_msg = if move_spans.for_closure() {
                     " into closure"
                 } else {