diff options
| author | Camille Gillot <gillot.camille@gmail.com> | 2025-09-18 00:46:27 +0000 |
|---|---|---|
| committer | Camille Gillot <gillot.camille@gmail.com> | 2025-09-18 01:09:53 +0000 |
| commit | b216cf34b1d4dfce1a44f99f7c58e64724439a8e (patch) | |
| tree | bdd0796a0cd2194c7e5350f9fac616cf70a86c6d | |
| parent | ce6daf3d5a5bffb2a00264197f92dc31608df0da (diff) | |
| download | rust-b216cf34b1d4dfce1a44f99f7c58e64724439a8e.tar.gz rust-b216cf34b1d4dfce1a44f99f7c58e64724439a8e.zip | |
Avoid invalidating from MirPatch::apply.
| -rw-r--r-- | compiler/rustc_mir_transform/src/patch.rs | 6 |
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; |
