summary refs log tree commit diff
path: root/compiler/rustc_hir_analysis/src/lib.rs
diff options
context:
space:
mode:
authorDeadbeef <ent3rm4n@gmail.com>2024-06-30 17:08:10 +0000
committerDeadbeef <ent3rm4n@gmail.com>2024-06-30 17:08:10 +0000
commit34ae56de35d4c8b61f51758113debea2ec7c21e7 (patch)
treea3b0d32605076168fb5b87fd7f7ab3a378b4fe97 /compiler/rustc_hir_analysis/src/lib.rs
parent6c3485512fc95fa9c43cb831607bfec9d2153b6e (diff)
downloadrust-34ae56de35d4c8b61f51758113debea2ec7c21e7.tar.gz
rust-34ae56de35d4c8b61f51758113debea2ec7c21e7.zip
Make `feature(effects)` require `-Znext-solver`
Diffstat (limited to 'compiler/rustc_hir_analysis/src/lib.rs')
-rw-r--r--compiler/rustc_hir_analysis/src/lib.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_hir_analysis/src/lib.rs b/compiler/rustc_hir_analysis/src/lib.rs
index 0428abcdf24..cf41f51f748 100644
--- a/compiler/rustc_hir_analysis/src/lib.rs
+++ b/compiler/rustc_hir_analysis/src/lib.rs
@@ -151,6 +151,12 @@ pub fn provide(providers: &mut Providers) {
 pub fn check_crate(tcx: TyCtxt<'_>) {
     let _prof_timer = tcx.sess.timer("type_check_crate");
 
+    // FIXME(effects): remove once effects is implemented in old trait solver
+    // or if the next solver is stabilized.
+    if tcx.features().effects && !tcx.next_trait_solver_globally() {
+        tcx.dcx().emit_err(errors::EffectsWithoutNextSolver);
+    }
+
     tcx.sess.time("coherence_checking", || {
         tcx.hir().par_for_each_module(|module| {
             let _ = tcx.ensure().check_mod_type_wf(module);