diff options
| author | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2023-08-20 01:59:44 +0200 |
|---|---|---|
| committer | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2023-08-20 13:10:14 +0200 |
| commit | 4170ca4be92f1a8e4bfd1d2815c12804710b7087 (patch) | |
| tree | ffccd48c97ea96945326364b673c221db4bdc60c | |
| parent | d06ca0ffaf4ac72732665f99dd9ad962194cd0b3 (diff) | |
| download | rust-4170ca4be92f1a8e4bfd1d2815c12804710b7087.tar.gz rust-4170ca4be92f1a8e4bfd1d2815c12804710b7087.zip | |
Ensure that THIR unsafety check is done before stealing it. Fixes #111520.
| -rw-r--r-- | compiler/rustc_mir_build/src/build/mod.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_mir_build/src/build/mod.rs b/compiler/rustc_mir_build/src/build/mod.rs index 2a23a69b584..e614046e83e 100644 --- a/compiler/rustc_mir_build/src/build/mod.rs +++ b/compiler/rustc_mir_build/src/build/mod.rs @@ -56,7 +56,8 @@ pub(crate) fn closure_saved_names_of_captured_variables<'tcx>( /// Construct the MIR for a given `DefId`. fn mir_build(tcx: TyCtxt<'_>, def: LocalDefId) -> Body<'_> { // Ensure unsafeck and abstract const building is ran before we steal the THIR. - tcx.ensure_with_value().thir_check_unsafety(def); + tcx.ensure_with_value() + .thir_check_unsafety(tcx.typeck_root_def_id(def.to_def_id()).expect_local()); tcx.ensure_with_value().thir_abstract_const(def); if let Err(e) = tcx.check_match(def) { return construct_error(tcx, def, e); |
