From 860f71f141baf8228a9d71a75092ff2378bfee42 Mon Sep 17 00:00:00 2001 From: Remy Rakic Date: Mon, 30 Mar 2020 01:13:03 +0200 Subject: [PATCH] Polonius fact generation: fix path access fact location This will fix the other move errors false positives: emitting the fact at the start point caused accesses to be at the same point as an initialization fact of the return place of a call on the following block, which emitted an error. --- src/librustc_mir/borrow_check/type_check/liveness/polonius.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs b/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs index 407e0628b6e..1c1983fefd4 100644 --- a/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs +++ b/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs @@ -43,7 +43,7 @@ fn insert_drop_use(&mut self, local: Local, location: Location) { fn insert_path_access(&mut self, path: MovePathIndex, location: Location) { debug!("UseFactsExtractor::insert_path_access({:?}, {:?})", path, location); - self.path_accessed_at_base.push((path, self.location_table.start_index(location))); + self.path_accessed_at_base.push((path, self.location_to_index(location))); } fn place_to_mpi(&self, place: &Place<'_>) -> Option {