diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-08-31 14:46:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-31 14:46:06 +0200 |
| commit | ea5bb99c0f4ef142cd548e74b4e6857468385b7a (patch) | |
| tree | 9f13fe3cf54175c03e70e5d86053469e3fe98c9c /compiler/rustc_const_eval/src | |
| parent | 9649706eada1b2c68cf6504356efb058f68ad739 (diff) | |
| parent | c2984179d91654162fac32c60be6f9cec5d655cd (diff) | |
| download | rust-ea5bb99c0f4ef142cd548e74b4e6857468385b7a.tar.gz rust-ea5bb99c0f4ef142cd548e74b4e6857468385b7a.zip | |
Rollup merge of #129659 - RalfJung:const-fn-lang-feat, r=fee1-dead
const fn stability checking: also check declared language features Fixes https://github.com/rust-lang/rust/issues/129656 `@oli-obk` I assume it is just an oversight that this didn't use `features().declared()`? Or is there a deep reason that this must only check `declared_lib_features`?
Diffstat (limited to 'compiler/rustc_const_eval/src')
| -rw-r--r-- | compiler/rustc_const_eval/src/check_consts/check.rs | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/rustc_const_eval/src/check_consts/check.rs b/compiler/rustc_const_eval/src/check_consts/check.rs index 6a086a3a7e5..7cfb101399d 100644 --- a/compiler/rustc_const_eval/src/check_consts/check.rs +++ b/compiler/rustc_const_eval/src/check_consts/check.rs @@ -868,9 +868,7 @@ impl<'tcx> Visitor<'tcx> for Checker<'_, 'tcx> { // Calling an unstable function *always* requires that the corresponding gate // (or implied gate) be enabled, even if the function has // `#[rustc_allow_const_fn_unstable(the_gate)]`. - let gate_declared = |gate| { - tcx.features().declared_lib_features.iter().any(|&(sym, _)| sym == gate) - }; + let gate_declared = |gate| tcx.features().declared(gate); let feature_gate_declared = gate_declared(gate); let implied_gate_declared = implied_by.is_some_and(gate_declared); if !feature_gate_declared && !implied_gate_declared { |
