1. Structured concurrency for async
Rust wants to give async tasks the same deterministic lifetime guarantees that threads have today. “The big one is scoped tasks, or structured concurrency,” explains [simonask] – enabling safe borrowing of stack data in async contexts and better cancellation control.
2. Immovable / must‑move types
A long‑awaited “immovable” or “must‑move” capability would let the compiler enforce that a value must be explicitly dropped or moved, preventing accidental leaks. [simonask] notes, “If instead the transaction is a must‑move type, you would get a compiler error if you fail to call exactly one of either commit or rollback,” highlighting how this catches missed cleanup.
3. Ergonomic async improvements
Community members point out that current async code is “awkward” and “annoying” due to Pin and borrowing limits. [pornel] says, “It doesn't really add anything new and flashy, but removes some annoying warts,” while [aabhay] adds that it “makes it easier for async functions to borrow rather than clone from their outer scope.”