Go to content

Async Rust: Past, Present, and Future by Nick Cameron

Today, async and await are stable parts of the language, but you can't actually run async code without a third party runtime. Unlike most languages, an async function has to be awaited before any work gets done. Cancellation can happen at any time and can cause surprising errors. Why is async Rust this way? And how is it changing? This talk will cover the design decisions and trade-offs which led to the current design, what that design means for async programming today, and what the Async Working Group is doing to make it better: our plans, current status, and ongoing work.

August 5, 2022