Yes, async Rust is quite clearly doing a lot wrong. Control-flow divergences should be structured per https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/ and while there are scoped spawns for multithreading, there is no async equivalent, and the available features include the analogue of the harmful go statement.