about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/inline.rs
diff options
context:
space:
mode:
authorScott McMurray <scottmcm@users.noreply.github.com>2024-04-17 18:14:16 -0700
committerScott McMurray <scottmcm@users.noreply.github.com>2024-04-18 09:35:36 -0700
commit90b4c86335f625f64e6238614d4c7cfd0dbbb37a (patch)
tree416c7ef4a7886e4d4da85bc084bacc0ba750508a /compiler/rustc_mir_transform/src/inline.rs
parent6094063c35d3b3f7c07b6c069ebeb27797ddadc1 (diff)
downloadrust-90b4c86335f625f64e6238614d4c7cfd0dbbb37a.tar.gz
rust-90b4c86335f625f64e6238614d4c7cfd0dbbb37a.zip
Ensure `[rust] debuginfo-level-std` doesn't change core's MIR
Diffstat (limited to 'compiler/rustc_mir_transform/src/inline.rs')
-rw-r--r--compiler/rustc_mir_transform/src/inline.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/rustc_mir_transform/src/inline.rs b/compiler/rustc_mir_transform/src/inline.rs
index 1182a738402..625d8f53939 100644
--- a/compiler/rustc_mir_transform/src/inline.rs
+++ b/compiler/rustc_mir_transform/src/inline.rs
@@ -699,7 +699,17 @@ impl<'tcx> Inliner<'tcx> {
         // Insert all of the (mapped) parts of the callee body into the caller.
         caller_body.local_decls.extend(callee_body.drain_vars_and_temps());
         caller_body.source_scopes.extend(&mut callee_body.source_scopes.drain(..));
-        if self.tcx.sess.opts.debuginfo != DebugInfo::None {
+        if self
+            .tcx
+            .sess
+            .opts
+            .unstable_opts
+            .inline_mir_preserve_debug
+            .unwrap_or(self.tcx.sess.opts.debuginfo != DebugInfo::None)
+        {
+            // Note that we need to preserve these in the standard library so that
+            // people working on rust can build with or without debuginfo while
+            // still getting consistent results from the mir-opt tests.
             caller_body.var_debug_info.append(&mut callee_body.var_debug_info);
         }
         caller_body.basic_blocks_mut().extend(callee_body.basic_blocks_mut().drain(..));