about summary refs log tree commit diff
path: root/library/stdarch/crates/std_detect
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/crates/std_detect')
-rw-r--r--library/stdarch/crates/std_detect/src/detect/cache.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/library/stdarch/crates/std_detect/src/detect/cache.rs b/library/stdarch/crates/std_detect/src/detect/cache.rs
index 20f72b6fd46..9179fbd9389 100644
--- a/library/stdarch/crates/std_detect/src/detect/cache.rs
+++ b/library/stdarch/crates/std_detect/src/detect/cache.rs
@@ -160,20 +160,19 @@ impl Cache {
 }
 cfg_if! {
     if #[cfg(feature = "std_detect_env_override")] {
-        fn env_override(mut value: Initializer) -> Initializer {
+        #[inline(never)]
+        fn initialize(mut value: Initializer) {
             if let Ok(disable) = crate::env::var("RUST_STD_DETECT_UNSTABLE") {
                 for v in disable.split(" ") {
                     let _ = super::Feature::from_str(v).map(|v| value.unset(v as u32));
                 }
-                value
-            } else {
-                value
             }
+            CACHE.initialize(value);
         }
     } else {
         #[inline]
-        fn env_override(value: Initializer) -> Initializer {
-            value
+        fn initialize(value: Initializer) {
+            CACHE.initialize(value);
         }
     }
 }
@@ -196,7 +195,7 @@ where
     F: FnOnce() -> Initializer,
 {
     if CACHE.is_uninitialized() {
-        CACHE.initialize(env_override(f()));
+        initialize(f());
     }
     CACHE.test(bit)
 }