Rust Async/Await Issues
This cluster centers on debates about the usability, maturity, and limitations of async/await in Rust, with many users criticizing its complexity, ecosystem immaturity, and poor fit for the language, while others defend its progress and utility.
Activity Over Time
Top Contributors
Keywords
Sample Comments
Honest question: what is it that you dislike in async rust? I personally find it is pretty straightforward
It feels like async is popular and necessary but just not that good fit for rust. Having it is better than not having it I suppose....
Async/await is the only thing prevent me from using Rust.
It's an important concurrency model. Perhaps Rust doesn't have a lot of async code because it's been really annoying to do it. This could change that dramatically.
"rust really shines" they need to land async/await
Try to write async code in Rust and you will see that Rust is the one that "incomplete".
Async is a cancer that has spread from single thread languages like JS and Python. Its the wrong solution for multi-thread languages like Rust/Java/C++/Go.
I write this as an active contributor to Actix-Web, and working on a Rust web framework of my own. Rust is amazing, the guarantees and performance it provides are incredible. However, the async ecosystem is immature. Without GATs and TiiT, you cannot have async fns in traits, making writing middleware and services much more difficult to write. Along with that, async and lifetimes, or unmet Send + Sync bounds leads to long, often confusing compiler errors. Current runtimes require you to think ab
We could expand this further: async/await is the wrong abstraction for Rust.
I think a lot of the complaints about rust's difficulty come from people trying to use async in rust. I don't think the problem there is that rust is "different". The problem is that async rust isn't ready yet.Rust's ecosystem pushes users toward using async for IO, and async support in the language & compiler is wildly incomplete. And it has been for years - the last big async feature (the async keyword) landed 2.5 years ago [1]. But its barely usable as-is.