remove no longer needd UnstableFeature type

This commit is contained in:
Ralf Jung 2024-10-23 08:18:19 +01:00
parent 6ad17bd30c
commit e82bca6f32
4 changed files with 9 additions and 15 deletions

View File

@ -103,7 +103,7 @@ fn feature_list(attr: &Attribute) -> ThinVec<ast::MetaItemInner> {
}
// If the enabled feature is unstable, record it.
if UNSTABLE_FEATURES.iter().find(|f| name == f.feature.name).is_some() {
if UNSTABLE_FEATURES.iter().find(|f| name == f.name).is_some() {
// When the ICE comes from core, alloc or std (approximation of the standard
// library), there's a chance that the person hitting the ICE may be using
// -Zbuild-std or similar with an untested target. The bug is probably in the

View File

@ -94,8 +94,8 @@ pub fn is_nightly_build(&self) -> bool {
fn find_lang_feature_issue(feature: Symbol) -> Option<NonZero<u32>> {
// Search in all the feature lists.
if let Some(f) = UNSTABLE_FEATURES.iter().find(|f| f.feature.name == feature) {
return f.feature.issue;
if let Some(f) = UNSTABLE_FEATURES.iter().find(|f| f.name == feature) {
return f.issue;
}
if let Some(f) = ACCEPTED_FEATURES.iter().find(|f| f.name == feature) {
return f.issue;

View File

@ -6,10 +6,6 @@
use super::{Feature, to_nonzero};
pub struct UnstableFeature {
pub feature: Feature,
}
#[derive(PartialEq)]
enum FeatureStatus {
Default,
@ -82,13 +78,11 @@ macro_rules! declare_features {
)+) => {
/// Unstable language features that are being implemented or being
/// considered for acceptance (stabilization) or removal.
pub const UNSTABLE_FEATURES: &[UnstableFeature] = &[
$(UnstableFeature {
feature: Feature {
name: sym::$feature,
since: $ver,
issue: to_nonzero($issue),
},
pub const UNSTABLE_FEATURES: &[Feature] = &[
$(Feature {
name: sym::$feature,
since: $ver,
issue: to_nonzero($issue),
}),+
];

View File

@ -117,7 +117,7 @@ fn hash_stable(&self, hcx: &mut StableHashingContext<'tcx>, hasher: &mut StableH
// FIXME: why do we hash something that is a compile-time constant?
for feature in rustc_feature::UNSTABLE_FEATURES.iter() {
feature.feature.name.hash_stable(hcx, hasher);
feature.name.hash_stable(hcx, hasher);
}
}
}