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
This commit is contained in:
commit
23012b5200
10 changed files with 1 additions and 34 deletions
|
|
@ -1,5 +1,4 @@
|
|||
#![crate_type = "lib"]
|
||||
#![feature(thread_local_const_init)]
|
||||
|
||||
use std::cell::Cell;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
// ignore-android does not use #[thread_local]
|
||||
|
||||
#![crate_type = "lib"]
|
||||
#![feature(thread_local_const_init)]
|
||||
|
||||
extern crate thread_local_aux as aux;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
thread_local!(static X: u32 = const { 0 });
|
||||
//~^ ERROR: use of unstable library feature 'thread_local_const_init'
|
||||
|
||||
fn main() {}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
error[E0658]: use of unstable library feature 'thread_local_const_init'
|
||||
--> $DIR/thread-local-const-init.rs:1:1
|
||||
|
|
||||
LL | thread_local!(static X: u32 = const { 0 });
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #84223 <https://github.com/rust-lang/rust/issues/84223> for more information
|
||||
= help: add `#![feature(thread_local_const_init)]` to the crate attributes to enable
|
||||
= note: this error originates in the macro `$crate::__thread_local_inner` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue