diff options
| author | Deadbeef <ent3rm4n@gmail.com> | 2024-06-30 17:08:10 +0000 | 
|---|---|---|
| committer | Deadbeef <ent3rm4n@gmail.com> | 2024-06-30 17:08:10 +0000 | 
| commit | 34ae56de35d4c8b61f51758113debea2ec7c21e7 (patch) | |
| tree | a3b0d32605076168fb5b87fd7f7ab3a378b4fe97 /compiler/rustc_hir_analysis/src | |
| parent | 6c3485512fc95fa9c43cb831607bfec9d2153b6e (diff) | |
| download | rust-34ae56de35d4c8b61f51758113debea2ec7c21e7.tar.gz rust-34ae56de35d4c8b61f51758113debea2ec7c21e7.zip  | |
Make `feature(effects)` require `-Znext-solver`
Diffstat (limited to 'compiler/rustc_hir_analysis/src')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/errors.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_hir_analysis/src/lib.rs | 6 | 
2 files changed, 12 insertions, 0 deletions
diff --git a/compiler/rustc_hir_analysis/src/errors.rs b/compiler/rustc_hir_analysis/src/errors.rs index 44025c3cd61..3ffb51fa992 100644 --- a/compiler/rustc_hir_analysis/src/errors.rs +++ b/compiler/rustc_hir_analysis/src/errors.rs @@ -1699,3 +1699,9 @@ pub struct InvalidReceiverTy<'tcx> { pub span: Span, pub receiver_ty: Ty<'tcx>, } + +#[derive(Diagnostic)] +#[diag(hir_analysis_effects_without_next_solver)] +#[note] +#[help] +pub struct EffectsWithoutNextSolver; 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);  | 
