@@ -192,14 +192,12 @@ pub use scoped::{scope, Scope, ScopedJoinHandle};
192192#[ stable( feature = "rust1" , since = "1.0.0" ) ]
193193pub use self :: local:: { AccessError , LocalKey } ;
194194
195- // The types used by the thread_local! macro to access TLS keys. Note that there
196- // are two types, the "OS" type and the "fast" type . The OS thread local key
197- // type is accessed via platform-specific API calls and is slow, while the fast
195+ // Select the type used by the thread_local! macro to access TLS keys. There
196+ // are three types: "static", "fast", "OS" . The "OS" thread local key
197+ // type is accessed via platform-specific API calls and is slow, while the " fast"
198198// key type is accessed via code generated via LLVM, where TLS keys are set up
199- // by the elf linker. Note that the OS TLS type is always available: on macOS
200- // the standard library is compiled with support for older platform versions
201- // where fast TLS was not available; end-user code is compiled with fast TLS
202- // where available, but both are needed.
199+ // by the elf linker. "static" is for single-threaded platforms where a global
200+ // static is sufficient.
203201
204202#[ unstable( feature = "libstd_thread_internals" , issue = "none" ) ]
205203#[ cfg( target_thread_local) ]
@@ -210,13 +208,15 @@ pub use self::local::fast::Key as __FastLocalKeyInner;
210208#[ cfg( target_thread_local) ]
211209#[ cfg( test) ] // when building for tests, use real std's key
212210pub use realstd:: thread:: __FastLocalKeyInner;
211+
213212#[ unstable( feature = "libstd_thread_internals" , issue = "none" ) ]
214213#[ cfg( target_thread_local) ]
215214#[ cfg( test) ]
216215pub use self :: local:: fast:: Key as __FastLocalKeyInnerUnused; // we import this anyway to silence 'unused' warnings
217216
218217#[ unstable( feature = "libstd_thread_internals" , issue = "none" ) ]
219218#[ doc( hidden) ]
219+ #[ cfg( not( target_thread_local) ) ]
220220pub use self :: local:: os:: Key as __OsLocalKeyInner;
221221#[ unstable( feature = "libstd_thread_internals" , issue = "none" ) ]
222222#[ cfg( all( target_family = "wasm" , not( target_feature = "atomics" ) ) ) ]
0 commit comments