Re:Committing to Rust for Kernel Code
by steveklabnik on Thursday November 23, 2023 @02:16PM
(#38396356)
A few off the top of my head: the core/std split, making the core language never allocate implicitly, the design of async/await.
> the design of async/await.
I am curious
How is "the design of async/await." for embedded programming?
Re:Committing to Rust for Kernel Code
by steveklabnik on Thursday November 23, 2023 @02:56PM
(#38396822)
The design of async/await took "using it in embedded" as a constraint. This is why it doesn't allocate, for example. Even C++ coroutines have one allocation, though they say that it can often be optimized away.
This means RTOS-like projects can use it for tasks, and it works well. Embassy is an example of such a project.
(Yet, I should also point out that you don't have to: at work we keep ours synchronous, for Reasons. Rust lets you do what you want.)
e.g?