about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamille Gillot <gillot.camille@gmail.com>2025-09-18 00:46:27 +0000
committerCamille Gillot <gillot.camille@gmail.com>2025-09-18 01:09:53 +0000
commitb216cf34b1d4dfce1a44f99f7c58e64724439a8e (patch)
treebdd0796a0cd2194c7e5350f9fac616cf70a86c6d
parentce6daf3d5a5bffb2a00264197f92dc31608df0da (diff)
downloadrust-b216cf34b1d4dfce1a44f99f7c58e64724439a8e.tar.gz
rust-b216cf34b1d4dfce1a44f99f7c58e64724439a8e.zip
Avoid invalidating from MirPatch::apply.
-rw-r--r--compiler/rustc_mir_transform/src/patch.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_mir_transform/src/patch.rs b/compiler/rustc_mir_transform/src/patch.rs
index c781d1a5324..f38881baf0f 100644
--- a/compiler/rustc_mir_transform/src/patch.rs
+++ b/compiler/rustc_mir_transform/src/patch.rs
@@ -244,7 +244,7 @@ impl<'tcx> MirPatch<'tcx> {
             self.new_blocks.len(),
             body.basic_blocks.len()
         );
-        let bbs = if self.term_patch_map.is_empty() && self.new_blocks.is_empty() {
+        let bbs = if self.term_patch_map.iter().all(Option::is_none) && self.new_blocks.is_empty() {
             body.basic_blocks.as_mut_preserves_cfg()
         } else {
             body.basic_blocks.as_mut()
@@ -273,8 +273,8 @@ impl<'tcx> MirPatch<'tcx> {
             }
             debug!("MirPatch: adding statement {:?} at loc {:?}+{}", stmt, loc, delta);
             loc.statement_index += delta;
-            let source_info = Self::source_info_for_index(&body[loc.block], loc);
-            body[loc.block]
+            let source_info = Self::source_info_for_index(&bbs[loc.block], loc);
+            bbs[loc.block]
                 .statements
                 .insert(loc.statement_index, Statement::new(source_info, stmt));
             delta += 1;