This compiler-internal and unstable #[cfg] is currently per-target rather than per-target-configuration. This means that thread locals purportedly work on the wasm target when in fact (I think) they only work on the wasm target with the atomics feature enabled.
Ideally the compiler would conditionally define this cfg on wasm (depending on other target features enabled), and then this could enable cleaning up the definitions of thread locals in libstd a bit by relying more on target_thread_local and not special-casing wasm so much.
This came out of a discussion in #83416
This compiler-internal and unstable
#[cfg]is currently per-target rather than per-target-configuration. This means that thread locals purportedly work on the wasm target when in fact (I think) they only work on the wasm target with theatomicsfeature enabled.Ideally the compiler would conditionally define this
cfgon wasm (depending on other target features enabled), and then this could enable cleaning up the definitions of thread locals in libstd a bit by relying more ontarget_thread_localand not special-casing wasm so much.This came out of a discussion in #83416