diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2023-01-25 17:01:41 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-25 17:01:41 +0530 |
| commit | 9e6873f7888c64bbded5de761489c0a0f0df826b (patch) | |
| tree | 641d879f17e6f386afe3c77d638a7447add8ca32 | |
| parent | b36a8dcea3545eb8edb8967ac382d0ccaa4d4023 (diff) | |
| parent | 0a03d1c9cafde0ada19b4fab0f3d6892cb154fd8 (diff) | |
| download | rust-9e6873f7888c64bbded5de761489c0a0f0df826b.tar.gz rust-9e6873f7888c64bbded5de761489c0a0f0df826b.zip | |
Rollup merge of #106767 - chbaker0:disable-unstable-features, r=Mark-Simulacrum
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.
| -rw-r--r-- | compiler/rustc_feature/src/lib.rs | 3 | ||||
| -rw-r--r-- | library/test/src/cli.rs | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_feature/src/lib.rs b/compiler/rustc_feature/src/lib.rs index 8e2a13a6c0a..93d16716346 100644 --- a/compiler/rustc_feature/src/lib.rs +++ b/compiler/rustc_feature/src/lib.rs @@ -83,7 +83,8 @@ impl UnstableFeatures { /// 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 = 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 let is_unstable_crate = |var: &str| { krate.map_or(false, |name| var.split(',').any(|new_krate| new_krate == name)) diff --git a/library/test/src/cli.rs b/library/test/src/cli.rs index 796796e07a9..9d22ebbee87 100644 --- a/library/test/src/cli.rs +++ b/library/test/src/cli.rs @@ -309,7 +309,8 @@ fn parse_opts_impl(matches: getopts::Matches) -> OptRes { // FIXME: Copied from librustc_ast until linkage errors are resolved. Issue #47566 fn is_nightly() -> bool { // 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 let bootstrap = env::var("RUSTC_BOOTSTRAP").is_ok(); |
