Repository navigation
RFC: add poll_progress to AsyncIterator - #4020
Open
oconnor663 wants to merge 2 commits into
Open
oconnor663 wants to merge 2 commits into
oconnor663 wants to merge 2 commits into
Conversation
Fix ["Barbara battles buffered streams"] and iterator variants of ["Futurelock"] by adding `poll_progress` to `AsyncIterator`. Define a strict `AsyncIterator` contract for when `poll_next` and `poll_progress` should be called, mirroring the strict `Future` contract in RFC TODO. To avoid burying the lede: Effectively deprecating [`StreamExt::next`] will probably be the most controversial part of this RFC. See "What about `.next()`?" in the Drawbacks section. ["Barbara battles buffered streams"]: https://rust-lang.github.io/wg-async/vision/submitted_stories/status_quo/barbara_battles_buffered_streams.html ["Futurelock"]: https://rfd.shared.oxide.computer/rfd/0609 [`StreamExt::next`]: https://docs.rs/futures/latest/futures/stream/trait.StreamExt.html#method.next
3 of 10 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix "Barbara battles buffered streams" and iterator variants of "Futurelock" by adding
poll_progresstoAsyncIterator. Define a strictAsyncIteratorcontract for whenpoll_nextandpoll_progressshould be called, mirroring the strictFuturecontract in RFC #4019.To avoid burying the lede: Effectively deprecating
StreamExt::nextwill probably be the most controversial part of this RFC. See "What about.next()?" in the Drawbacks section.Important
Since RFCs involve many conversations at once that can be difficult to follow, please use review comment threads on the text changes instead of direct comments on the RFC.
If you don't have a particular section of the RFC to comment on, you can click on the "Comment on this file" button on the top-right corner of the diff, to the right of the "Viewed" checkbox. This will create a separate thread even if others have commented on the file too.
Rendered