diff options
| author | LeSeulArtichaut <leseulartichaut@gmail.com> | 2021-03-14 20:10:22 +0100 |
|---|---|---|
| committer | LeSeulArtichaut <leseulartichaut@gmail.com> | 2021-05-11 15:33:00 +0200 |
| commit | 29780f43e2067ee1c88e73fa76ef1cced28758d3 (patch) | |
| tree | 498a22e3694741ae7d10b828b658f1801bff62c6 /compiler/rustc_interface | |
| parent | d956122f7e278748310cfe25a982879ed2d90fba (diff) | |
| download | rust-29780f43e2067ee1c88e73fa76ef1cced28758d3.tar.gz rust-29780f43e2067ee1c88e73fa76ef1cced28758d3.zip | |
Introduce the (WIP) THIR unsafety checker
Diffstat (limited to 'compiler/rustc_interface')
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_interface/src/tests.rs | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 02e62a2cee9..601b6d2b608 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -884,7 +884,11 @@ fn analysis(tcx: TyCtxt<'_>, cnum: CrateNum) -> Result<()> { sess.time("MIR_effect_checking", || { for def_id in tcx.body_owners() { - mir::transform::check_unsafety::check_unsafety(tcx, def_id); + if tcx.sess.opts.debugging_opts.thir_unsafeck { + tcx.ensure().thir_check_unsafety(def_id); + } else { + mir::transform::check_unsafety::check_unsafety(tcx, def_id); + } if tcx.hir().body_const_context(def_id).is_some() { tcx.ensure() diff --git a/compiler/rustc_interface/src/tests.rs b/compiler/rustc_interface/src/tests.rs index fd13cb3d59a..50a0c1067d0 100644 --- a/compiler/rustc_interface/src/tests.rs +++ b/compiler/rustc_interface/src/tests.rs @@ -735,6 +735,7 @@ fn test_debugging_options_tracking_hash() { tracked!(symbol_mangling_version, Some(SymbolManglingVersion::V0)); tracked!(teach, true); tracked!(thinlto, Some(true)); + tracked!(thir_unsafeck, true); tracked!(tune_cpu, Some(String::from("abc"))); tracked!(tls_model, Some(TlsModel::GeneralDynamic)); tracked!(trap_unreachable, Some(false)); |
