about summary refs log tree commit diff
path: root/compiler/rustc_feature/src/lib.rs
diff options
context:
space:
mode:
authorCollin Baker <collinbaker@chromium.org>2023-01-12 05:36:04 -0500
committerCollin Baker <collinbaker@chromium.org>2023-01-12 05:36:04 -0500
commit0a03d1c9cafde0ada19b4fab0f3d6892cb154fd8 (patch)
treea475f71e82b96fcf8da27f358d04fa91a0d2c769 /compiler/rustc_feature/src/lib.rs
parent4887cb18dc2ef5b1bf3fc50ce6c267fde085032b (diff)
downloadrust-0a03d1c9cafde0ada19b4fab0f3d6892cb154fd8.tar.gz
rust-0a03d1c9cafde0ada19b4fab0f3d6892cb154fd8.zip
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.
Diffstat (limited to 'compiler/rustc_feature/src/lib.rs')
-rw-r--r--compiler/rustc_feature/src/lib.rs3
1 files changed, 2 insertions, 1 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))