Conversation

The high level stdlib has no relevance to the kernel usage because it MUST use $![no_std] (freestanding) code. The high-level stdlib (libstd) uses lower-level standard libraries (libcore, liballoc, etc.) and they can use some of those, but they will need a stripped down liballoc.
1
So, basically, the only issue is they haven't yet forked liballoc to delete the methods doing panic on OOM. It's the same reason they need other placeholder stubs doing panic to fill in APIs used by stdlib code they've included via libcore, etc. Could fork libcore and delete it.
2
They use a very extended version of C supported by GCC/Clang and they use their own memory model not truly implemented by GCC/Clang rather than the C11 memory model. They don't use the C standard library. For Rust, they don't need a special dialect of the language in the kernel.
1
Show replies