about summary refs log tree commit diff
path: root/library/std/src/thread
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-12-05 00:38:00 +0100
committerGitHub <noreply@github.com>2021-12-05 00:38:00 +0100
commit23012b5200ec78dc519969b34c0342bfa53ea3c4 (patch)
tree54770a648e163aff341732a456229523c0ea32e9 /library/std/src/thread
parent4af985ac004fc0578cc6102f8e47844c227d0967 (diff)
parenta0c959750abec28bb875be492c5f0532920a8907 (diff)
downloadrust-23012b5200ec78dc519969b34c0342bfa53ea3c4.tar.gz
rust-23012b5200ec78dc519969b34c0342bfa53ea3c4.zip
Rollup merge of #91355 - alexcrichton:stabilize-thread-local-const, r=m-ou-se
std: Stabilize the `thread_local_const_init` feature

This commit is intended to follow the stabilization disposition of the
FCP that has now finished in #84223. This stabilizes the ability to flag
thread local initializers as `const` expressions which enables the macro
to generate more efficient code for accessing it, notably removing
runtime checks for initialization.

More information can also be found in #84223 as well as the tests where
the feature usage was removed in this PR.

Closes #84223
Diffstat (limited to 'library/std/src/thread')
-rw-r--r--library/std/src/thread/local.rs1
-rw-r--r--library/std/src/thread/mod.rs7
2 files changed, 0 insertions, 8 deletions
diff --git a/library/std/src/thread/local.rs b/library/std/src/thread/local.rs
index 64c8416b61c..c03fe116320 100644
--- a/library/std/src/thread/local.rs
+++ b/library/std/src/thread/local.rs
@@ -178,7 +178,6 @@ macro_rules! __thread_local_inner {
     (@key $t:ty, const $init:expr) => {{
         #[cfg_attr(not(windows), inline)] // see comments below
         unsafe fn __getit() -> $crate::option::Option<&'static $t> {
-            const _REQUIRE_UNSTABLE: () = $crate::thread::require_unstable_const_init_thread_local();
             const INIT_EXPR: $t = $init;
 
             // wasm without atomics maps directly to `static mut`, and dtors
diff --git a/library/std/src/thread/mod.rs b/library/std/src/thread/mod.rs
index 343d3ef8dc5..64f6c7fa022 100644
--- a/library/std/src/thread/mod.rs
+++ b/library/std/src/thread/mod.rs
@@ -204,13 +204,6 @@ pub use self::local::os::Key as __OsLocalKeyInner;
 #[doc(hidden)]
 pub use self::local::statik::Key as __StaticLocalKeyInner;
 
-// This is only used to make thread locals with `const { .. }` initialization
-// expressions unstable. If and/or when that syntax is stabilized with thread
-// locals this will simply be removed.
-#[doc(hidden)]
-#[unstable(feature = "thread_local_const_init", issue = "84223")]
-pub const fn require_unstable_const_init_thread_local() {}
-
 ////////////////////////////////////////////////////////////////////////////////
 // Builder
 ////////////////////////////////////////////////////////////////////////////////