Hello Swift community,
The review of SE-0314 "AsyncStream and AsyncThrowingStream" has concluded. The Core Team has decided to return the proposal for revision to address some concerns brought up in the review:
- Lack of support for back pressure. The
AsyncStream
/AsyncThrowingStream
types themselves don't support back pressure. - Unlimited buffer size by default:
Async(Throwing)Stream
default to having an unlimited buffer, although one can set a fixed buffer size (such that the oldest values will be dropped if the limit is hit) on creation. -
AsyncThrowingStream
doesn't support typed errors: the other concurrency-related types we've introduced (task handles, task groups) have followed the precedent set byResult
in having a typed error, even though the languagethrows
mechanism doesn't support it.AsyncThrowingStream
doesn't have a type for the error.
Because Juneteenth weekend is starting tomorrow, June 18, for many U.S. developers, I will schedule the next review to begin next Monday, June 21. The authors have already provided an update for the second review.
Thanks to everyone who participated in the review!
Doug