asyncblock is doing is creating a struct with our pinned async state and our combinator side-by-side. The combinator operates happily on a
Ralithmaybe 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
Ralithseems like the atomicity fundamentally needs to be pushed down to the db (in that example)
Ralithnothing in-process would serve
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