diff options
| author | bors <bors@rust-lang.org> | 2023-10-25 00:03:57 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-10-25 00:03:57 +0000 |
| commit | 848a387967280771fb0cb7aec59f79ecb92cf0d3 (patch) | |
| tree | 603766e48e194fcfcbc1488db904db7ff694b8b3 /compiler/rustc_interface/src | |
| parent | df871fbf053de3a855398964cd05fadbe91cf4fd (diff) | |
| parent | 8aea0e959088c0a879b0cd1682ec9db6c9914ee4 (diff) | |
| download | rust-848a387967280771fb0cb7aec59f79ecb92cf0d3.tar.gz rust-848a387967280771fb0cb7aec59f79ecb92cf0d3.zip | |
Auto merge of #116482 - matthewjasper:thir-unsafeck-inline-constants, r=b-naber
Fix inline const pattern unsafety checking in THIR Fix THIR unsafety checking of inline constants. - Steal THIR in THIR unsafety checking (if enabled) instead of MIR lowering. - Represent inline constants in THIR patterns.
Diffstat (limited to 'compiler/rustc_interface/src')
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 7a7e9024bd8..998e2686005 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -775,12 +775,16 @@ fn analysis(tcx: TyCtxt<'_>, (): ()) -> Result<()> { rustc_hir_analysis::check_crate(tcx)?; sess.time("MIR_borrow_checking", || { - tcx.hir().par_body_owners(|def_id| tcx.ensure().mir_borrowck(def_id)); + tcx.hir().par_body_owners(|def_id| { + // Run THIR unsafety check because it's responsible for stealing + // and deallocating THIR when enabled. + tcx.ensure().thir_check_unsafety(def_id); + tcx.ensure().mir_borrowck(def_id) + }); }); sess.time("MIR_effect_checking", || { for def_id in tcx.hir().body_owners() { - tcx.ensure().thir_check_unsafety(def_id); if !tcx.sess.opts.unstable_opts.thir_unsafeck { rustc_mir_transform::check_unsafety::check_unsafety(tcx, def_id); } |
