Skip to content

Commit a99ffe0

Browse files
compiler-errorslcnr
authored andcommitted
w
1 parent 8e69918 commit a99ffe0

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

compiler/rustc_ast_passes/src/feature_gate.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use rustc_ast as ast;
22
use rustc_ast::visit::{self, AssocCtxt, FnCtxt, FnKind, Visitor};
33
use rustc_ast::{NodeId, PatKind, attr, token};
4+
use rustc_errors::E0001;
45
use rustc_feature::{AttributeGate, BUILTIN_ATTRIBUTE_MAP, BuiltinAttribute, Features};
56
use rustc_session::Session;
67
use rustc_session::parse::{feature_err, feature_warn};
@@ -648,10 +649,13 @@ fn check_new_solver_banned_features(sess: &Session, features: &Features) {
648649
.map(|feat| feat.attr_sp)
649650
{
650651
#[allow(rustc::symbol_intern_string_literal)]
651-
sess.dcx().emit_err(errors::IncompatibleFeatures {
652-
spans: vec![gce_span],
653-
f1: Symbol::intern("-Znext-solver=globally"),
654-
f2: sym::generic_const_exprs,
655-
});
652+
sess.dcx()
653+
.create_fatal(errors::IncompatibleFeatures {
654+
spans: vec![gce_span],
655+
f1: Symbol::intern("-Znext-solver=globally"),
656+
f2: sym::generic_const_exprs,
657+
})
658+
.with_code(E0001)
659+
.emit();
656660
}
657661
}

compiler/rustc_middle/src/ty/context.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3335,7 +3335,7 @@ impl<'tcx> TyCtxt<'tcx> {
33353335
}
33363336

33373337
pub fn next_trait_solver_globally(self) -> bool {
3338-
self.sess.opts.unstable_opts.next_solver.globally
3338+
self.sess.opts.unstable_opts.next_solver.globally && !self.features().generic_const_exprs()
33393339
}
33403340

33413341
pub fn next_trait_solver_in_coherence(self) -> bool {

0 commit comments

Comments
 (0)