diff options
| -rw-r--r-- | compiler/rustc_mir_build/src/build/mod.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_mir_build/src/build/mod.rs b/compiler/rustc_mir_build/src/build/mod.rs index be1d2696408..72814e3373b 100644 --- a/compiler/rustc_mir_build/src/build/mod.rs +++ b/compiler/rustc_mir_build/src/build/mod.rs @@ -29,7 +29,13 @@ crate fn mir_built<'tcx>( return tcx.mir_built(def); } - tcx.alloc_steal_mir(mir_build(tcx, def)) + let mut body = mir_build(tcx, def); + if def.const_param_did.is_some() { + assert!(matches!(body.source.instance, ty::InstanceDef::Item(_))); + body.source = MirSource::from_instance(ty::InstanceDef::Item(def.to_global())); + } + + tcx.alloc_steal_mir(body) } /// Construct the MIR for a given `DefId`. |
