Taiki Endo
Taiki Endo
Another idea on this is to remove the `async-await` feature and add the `macro` feature that enables proc-macro instead.
Hmm... My thought when I looked into this before was "there is no best way at this time". https://github.com/rust-lang/wg-async-foundations/pull/15#discussion_r453283496
I'm not sure if you meant `future::select_all` or `stream::select_all`.
Thanks for the report! Considering that https://github.com/rust-lang/futures-rs/commit/9080b83b40d55a4268f2ae44aaeed2adb9fdfa04 is the only one that changed the code related to FuturesUnordered between 0.3.17 and 0.3.18 (https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.18), it seems likely to be related to...
(I've yanked futures/futures-util 0.3.18)
@gperinazzo You are right. I'll re-use this issue to track that problem. EDIT: To clarify, FuturesUnordered will panic to prevent unsoundness, so "unsound" is not strictly correct.
Published 0.3.19 & updated title and description of this issue. > EDIT(taiki-e): The regression that occurred in 0.3.18 has been fixed in 0.3.19, but the underlying problem that 0.3.18 tried...
> Another alternative is to just create a new `ReadyToRunQueue` and replace it after dropping all futures. SGTM
Probably we can add methods to return iterators that return the internal future as an item.
This was discussed in the PR that added `abortable`: https://github.com/rust-lang/futures-rs/pull/1079#discussion_r201834063 > Personal preference but I think this makes more sense as a free function-- you wouldn't chain it like normal...