async block is doing is creating a struct with our pinned async state and our combinator side-by-side. The combinator operates happily on a PinMut reference
Ralith maybe I'm weird, but when I write a chain of futures, failure at any point is expected and accounted for, generally by propagating an error upwards, which is what the combinators make easy
Ralith seems like the atomicity fundamentally needs to be pushed down to the db (in that example)
Ralith nothing in-process would serve
future_a.join(future_b)
Even if it just ends up being
let x = await!(future_a.join(future_b));That does indeed satisfy the requirement.
.into_stream().flatten() appears to work, but kinda obtuse