[Returned for revision] SE-0314 "AsyncStream and AsyncThrowingStream"

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 by Result in having a typed error, even though the language throws 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

9 Likes