From ebbaf4611a9605412d2aa31c8ebaf0745557fff0 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Tue, 11 Feb 2020 10:14:50 +0100 Subject: [PATCH] simplify_try: address some of eddyb's comments --- src/librustc_mir/transform/simplify_try.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/librustc_mir/transform/simplify_try.rs b/src/librustc_mir/transform/simplify_try.rs index bd661195a4852..3f28f033047a2 100644 --- a/src/librustc_mir/transform/simplify_try.rs +++ b/src/librustc_mir/transform/simplify_try.rs @@ -52,6 +52,8 @@ impl<'tcx> MirPass<'tcx> for SimplifyArmIdentity { Some(x) => x, }; if local_tmp_s0 != local_tmp_s1 + // Avoid moving into ourselves. + || local_0 == local_1 // The field-and-variant information match up. || vf_s0 != vf_s1 // Source and target locals have the same type. @@ -64,6 +66,7 @@ impl<'tcx> MirPass<'tcx> for SimplifyArmIdentity { } // Right shape; transform! + s0.source_info = s2.source_info; match &mut s0.kind { StatementKind::Assign(box (place, rvalue)) => { *place = local_0.into();