Auto merge of #141685 - orlp:inplace-tls-drop, r=joboet

Do not move thread-locals before dropping

Fixes rust-lang/rust#140816. I also (potentially) improved the speed of `get_or_init` a bit by having an explicit hot/cold path.

We still move the value before dropping in the event of a recursive initialization (leading to double-initialization with one value being silently dropped). This is the old behavior, but changing this to panic instead would involve changing tests and also the other OS-specific `thread_local/os.rs` implementation, which is more than I'd like in this PR.
This commit is contained in:
bors 2025-05-31 14:56:33 +00:00
commit fc5bd174c1

Diff Content Not Available