Commit 1b823eb
Migrate AsyncSeq<'T> to BCL System.Collections.Generic.IAsyncEnumerable<'T> (v4.0)
BREAKING CHANGE: AsyncSeq<'T> is now an alias for
System.Collections.Generic.IAsyncEnumerable<'T>, replacing the library's
own IAsyncEnumerator<'T> / IAsyncEnumerable<'T> pull-based interfaces.
Key changes:
- Remove public IAsyncEnumerator<'T> and IAsyncEnumerable<'T> interfaces.
Code with custom enumerator implementations must be updated.
- AsyncSeq<'T> = System.Collections.Generic.IAsyncEnumerable<'T>
- Internal machinery: IAsyncSeqEnumerator<'T> (pull-based) retained as an
implementation detail wrapped by AsyncSeqImpl<'T> adapter; not exported.
- AsyncSeqEnumeratorExtensions module: adds GetEnumerator() extension on
IAsyncEnumerable<'T> for internal use (hidden by .fsi).
- ofAsyncEnum / toAsyncEnum: now identity functions (no-ops).
- Bump version to 4.0.0-alpha.1.
- Update test that used old GetEnumerator()/MoveNext() API to BCL style.
All 190 tests pass.
Fixes #230.
Co-authored-by: Copilot <[email protected]>1 parent 612fae6 commit 1b823eb
4 files changed
Lines changed: 191 additions & 217 deletions
File tree
- src/FSharp.Control.AsyncSeq
- tests/FSharp.Control.AsyncSeq.Tests
0 commit comments