rust/library
Alex Crichton c6eea222a9 std: Add a variant of thread locals with const init
This commit adds a variant of the `thread_local!` macro as a new
`thread_local_const_init!` macro which requires that the initialization
expression is constant (e.g. could be stuck into a `const` if so
desired). This form of thread local allows for a more efficient
implementation of `LocalKey::with` both if the value has a destructor
and if it doesn't. If the value doesn't have a destructor then `with`
should desugar to exactly as-if you use `#[thread_local]` given
sufficient inlining.

The purpose of this new form of thread locals is to precisely be
equivalent to `#[thread_local]` on platforms where possible for values
which fit the bill (those without destructors). This should help close
the gap in performance between `thread_local!`, which is safe, relative
to `#[thread_local]`, which is not easy to use in a portable fashion.
2021-04-16 09:21:38 -07:00
..
alloc Auto merge of #84135 - rust-lang:GuillaumeGomez-patch-1, r=kennytm 2021-04-13 14:03:49 +00:00
backtrace@710fc18ddc Update backtrace to 0.3.56 2021-03-25 22:25:34 -06:00
core Auto merge of #84088 - m-ou-se:stabilize-option-insert, r=m-ou-se 2021-04-15 12:37:19 +00:00
panic_abort android: set abort message 2021-04-09 15:33:43 +02:00
panic_unwind Revert "Revert stabilizing integer::BITS." 2021-03-24 22:34:36 +01:00
proc_macro impl PartialEq<Punct> for char; symmetry for #78636 2021-02-19 17:28:19 -08:00
profiler_builtins Update the minimum external LLVM to 10 2021-03-22 11:33:43 -07:00
rtstartup Bump bootstrap compiler to 1.50 beta 2020-12-30 09:27:19 -05:00
rustc-std-workspace-alloc
rustc-std-workspace-core Fix rustc-std-workspace-core documentation 2020-12-20 15:23:21 +08:00
rustc-std-workspace-std
std std: Add a variant of thread locals with const init 2021-04-16 09:21:38 -07:00
stdarch@19f5459dd0 Update stdarch submodule (to before it switched to const generics) 2021-04-12 09:39:04 -04:00
term Allow/fix non_fmt_panic in tests. 2021-02-03 23:15:45 +01:00
test Auto merge of #82300 - andersk:libtest-id, r=Amanieu 2021-04-12 13:30:30 +00:00
unwind Rollup merge of #82374 - clehner:licenses, r=joshtriplett 2021-03-22 15:21:23 +01:00