diff options
| author | Clint Frederickson <clint.frederickson@ironcorelabs.com> | 2019-02-12 19:35:32 -0700 |
|---|---|---|
| committer | Clint Frederickson <clint.frederickson@ironcorelabs.com> | 2019-02-12 19:35:32 -0700 |
| commit | 4e5eda36978e8868ee75001efb6388aa22326be0 (patch) | |
| tree | 68ca22d55a142f946e416a00be25379763f1f42f | |
| parent | d4c52bfb1708bf1c53ea2fc722aa4d9762982e90 (diff) | |
| download | rust-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.rs | 11 |
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 { |
