We have released 1.0 of the #CHERIoT specification! The architecture has been unchanged for almost a year and has been implemented in two open-source cores. We (SCI) are getting back our first CHERIoT silicon from the fab soon and will be moving to mass production net year (I can't talk about what other people are doing with CHERIoT).
Good read about cancellations in Async Rust https://sunshowers.io/posts/cancelling-async-rust/
This blogpost covers a lot of the problems in this space very well. I like how it emphasizes definitions and semantics, shows examples of bugs they came across to, and list some practical recommendations.
The "double-edge sword" of cancellation in Rust is spot on: on one hand, it's cool how "easy" and simple it is to cancel future in Rust -- you *drop* it. Especially given how non-trivial it can be in synchronous environments.
However, this also means it's far too easy to *silently* drop a future. This is scary on its own, and combined with the fact that cancellation of parent futures propagates down to child futures (because of the single ownership model) makes it much more concerning.
This post also links another (much older, Feb 2024) blogpost that covers this space well, elaborating on async clean-up problems and mentions linear types as a solution https://without.boats/blog/asynchronous-clean-up/
Last week #AllSystemsGo #ASG 2025 happened in Berlin, and it was a blast as usual, thanks to all the amazing speakers!
Talks are already available on YT: https://www.youtube.com/playlist?list=PLWYdJViL9EiqX25Rmu49FTDDnzT30wvqL