https://hachyderm.io/@rain wrote :
#RustLang cancel correctness issues commonly occur with tokio::select, but are by no means restricted to them.
If you’re flushing two buffered writers concurrently, you shouldn’t use try_join because if one of them fails, the other flush will be cancelled rather than driven to completion.
This is a kind of cancellation issue no one has really talked about but we’ve run into this at Oxide!
To address this we have a new macro called join_then_try: