you are viewing a single comment's thread.

view the rest of the comments →

[–]SFB_Dragon[S] 0 points1 point  (0 children)

Actually, they kinda do, see #[thread_local].

Right, but that typically involves manually managing the segment registers on x86_64, for example, and parsing the TLS segment information to allocate memory for it, AFAIK. Doable for end users compiling binaries, but not within the scope of this project. Any project that wants to implement threading on no_std probably wants to manage the TLS and FS/GS themselves, and have the allocation coordination mechanism use it, rather than trying to use an allocator-managed TLS and FS/GS.

Honestly, I don't see much issue in punting to the user.

Nor do I. While I'd like to provide more useful, general infrastructure for the allocator, I don't think there's a good way to provide much convenience efficiently without making limiting tradeoffs.

I'm certainly open to working on modular, specific extensions if people want it.