Announcing Async-Std 1.0
async.rs
async.rs
The first example of reading a file in sync vs async really makes me feel like you could have a macro of sorts that just lets you write the sync version and have it generate the async version (assuming you only use the stdlib IO based APIs). Usage of threads could even be converted to tasks, etc.
I'm sure it falls apart in various places, but it would really make async (in Rust) a lot more approachable. At which point you have something very similar to how Go does things, which I think is potentially very nice.
That sounds like a good idea in theory. In practice you will discover that async is a bit different. E.g. you can't have recursive functions, some new lifetime effects will come into play (an async fn returns a Future, and everything that generated Future captures lifetimes of other things).
async/await made async programming in rust definitely a lot more accessible! But at some times the lower layers still leak through and cause some unexpected compilation errors.