mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Streamline find_lang_feature_issue
.
It currently processes `ACTIVE_FEATURES` separately from `ACCEPTED_FEATURES`, `REMOVED_FEATURES`, and `STABLE_REMOVED_FEATURES`, for no good reason. This commit treats them uniformly.
This commit is contained in:
parent
3c1b60c1b4
commit
1ddb2872dd
@ -79,8 +79,8 @@ pub enum UnstableFeatures {
|
||||
impl UnstableFeatures {
|
||||
/// This takes into account `RUSTC_BOOTSTRAP`.
|
||||
///
|
||||
/// If `krate` is [`Some`], then setting `RUSTC_BOOTSTRAP=krate` will enable the nightly features.
|
||||
/// Otherwise, only `RUSTC_BOOTSTRAP=1` will work.
|
||||
/// If `krate` is [`Some`], then setting `RUSTC_BOOTSTRAP=krate` will enable the nightly
|
||||
/// features. Otherwise, only `RUSTC_BOOTSTRAP=1` will work.
|
||||
pub fn from_environment(krate: Option<&str>) -> Self {
|
||||
// `true` if this is a feature-staged build, i.e., on the beta or stable channel.
|
||||
let disable_unstable_features =
|
||||
@ -107,19 +107,18 @@ impl UnstableFeatures {
|
||||
}
|
||||
|
||||
fn find_lang_feature_issue(feature: Symbol) -> Option<NonZeroU32> {
|
||||
if let Some(info) = ACTIVE_FEATURES.iter().find(|t| t.name == feature) {
|
||||
info.issue
|
||||
} else {
|
||||
// search in Accepted, Removed, or Stable Removed features
|
||||
let found = ACCEPTED_FEATURES
|
||||
.iter()
|
||||
.chain(REMOVED_FEATURES)
|
||||
.chain(STABLE_REMOVED_FEATURES)
|
||||
.find(|t| t.name == feature);
|
||||
match found {
|
||||
Some(found) => found.issue,
|
||||
None => panic!("feature `{feature}` is not declared anywhere"),
|
||||
}
|
||||
// Search in all the feature lists.
|
||||
let found = []
|
||||
.iter()
|
||||
.chain(ACTIVE_FEATURES)
|
||||
.chain(ACCEPTED_FEATURES)
|
||||
.chain(REMOVED_FEATURES)
|
||||
.chain(STABLE_REMOVED_FEATURES)
|
||||
.find(|t| t.name == feature);
|
||||
|
||||
match found {
|
||||
Some(found) => found.issue,
|
||||
None => panic!("feature `{feature}` is not declared anywhere"),
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user