mirror of
https://github.com/rust-lang/rust
synced 2024-10-17 05:53:41 +00:00
Allow setting CFG_DISABLE_UNSTABLE_FEATURES to 0
Two locations check whether this build-time environment variable is defined. Allowing it to be explicitly disabled with a "0" value is useful, especially for integrating with external build systems.
This commit is contained in:
parent
4887cb18dc
commit
0a03d1c9ca
|
@ -83,7 +83,8 @@ impl UnstableFeatures {
|
||||||
/// Otherwise, only `RUSTC_BOOTSTRAP=1` will work.
|
/// Otherwise, only `RUSTC_BOOTSTRAP=1` will work.
|
||||||
pub fn from_environment(krate: Option<&str>) -> Self {
|
pub fn from_environment(krate: Option<&str>) -> Self {
|
||||||
// `true` if this is a feature-staged build, i.e., on the beta or stable channel.
|
// `true` if this is a feature-staged build, i.e., on the beta or stable channel.
|
||||||
let disable_unstable_features = option_env!("CFG_DISABLE_UNSTABLE_FEATURES").is_some();
|
let disable_unstable_features =
|
||||||
|
option_env!("CFG_DISABLE_UNSTABLE_FEATURES").map(|s| s != "0").unwrap_or(false);
|
||||||
// Returns whether `krate` should be counted as unstable
|
// Returns whether `krate` should be counted as unstable
|
||||||
let is_unstable_crate = |var: &str| {
|
let is_unstable_crate = |var: &str| {
|
||||||
krate.map_or(false, |name| var.split(',').any(|new_krate| new_krate == name))
|
krate.map_or(false, |name| var.split(',').any(|new_krate| new_krate == name))
|
||||||
|
|
|
@ -309,7 +309,8 @@ fn parse_opts_impl(matches: getopts::Matches) -> OptRes {
|
||||||
// FIXME: Copied from librustc_ast until linkage errors are resolved. Issue #47566
|
// FIXME: Copied from librustc_ast until linkage errors are resolved. Issue #47566
|
||||||
fn is_nightly() -> bool {
|
fn is_nightly() -> bool {
|
||||||
// Whether this is a feature-staged build, i.e., on the beta or stable channel
|
// Whether this is a feature-staged build, i.e., on the beta or stable channel
|
||||||
let disable_unstable_features = option_env!("CFG_DISABLE_UNSTABLE_FEATURES").is_some();
|
let disable_unstable_features =
|
||||||
|
option_env!("CFG_DISABLE_UNSTABLE_FEATURES").map(|s| s != "0").unwrap_or(false);
|
||||||
// Whether we should enable unstable features for bootstrapping
|
// Whether we should enable unstable features for bootstrapping
|
||||||
let bootstrap = env::var("RUSTC_BOOTSTRAP").is_ok();
|
let bootstrap = env::var("RUSTC_BOOTSTRAP").is_ok();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue