瀏覽代碼

Remove ConfigureAwait on IAsyncEnumerator<T> in favor of GetConfiguredAsyncEnumerator.

Bart De Smet 6 年之前
父節點
當前提交
9ec8a1f1b4
共有 27 個文件被更改,包括 199 次插入247 次删除
  1. 4 4
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Catch.cs
  2. 4 4
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/DistinctUntilChanged.cs
  3. 3 3
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Do.cs
  4. 1 1
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/IsEmpty.cs
  5. 1 1
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Max.cs
  6. 1 1
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Min.cs
  7. 3 3
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/MinBy.cs
  8. 3 3
      Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Scan.cs
  9. 1 1
      Ix.NET/Source/System.Linq.Async/System/Linq/AsyncEnumerableHelpers.cs
  10. 3 3
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Aggregate.cs
  11. 1 1
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Any.cs
  12. 40 40
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Average.Generated.cs
  13. 4 4
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/FirstOrDefault.cs
  14. 3 3
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/GroupJoin.cs
  15. 3 3
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Join.cs
  16. 8 8
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Max.cs
  17. 8 8
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Min.cs
  18. 80 80
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/MinMax.Generated.cs
  19. 2 2
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/OrderedAsyncEnumerable.cs
  20. 2 2
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SequenceEqual.cs
  21. 4 4
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Single.cs
  22. 4 4
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SingleOrDefault.cs
  23. 1 1
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SkipLast.cs
  24. 6 6
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SkipWhile.cs
  25. 1 1
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/TakeLast.cs
  26. 6 6
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Zip.cs
  27. 2 50
      Ix.NET/Source/System.Linq.Async/System/Threading/Tasks/AsyncEnumerableExtensions.cs

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Catch.cs

@@ -39,7 +39,7 @@ namespace System.Linq
 
                 var err = default(IAsyncEnumerable<TSource>);
 
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -103,7 +103,7 @@ namespace System.Linq
 
                 var err = default(IAsyncEnumerable<TSource>);
 
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -168,7 +168,7 @@ namespace System.Linq
 
                 var err = default(IAsyncEnumerable<TSource>);
 
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -248,7 +248,7 @@ namespace System.Linq
 
                 foreach (var source in sources)
                 {
-                    var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                    var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/DistinctUntilChanged.cs

@@ -103,7 +103,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -150,7 +150,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -201,7 +201,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -253,7 +253,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Do.cs

@@ -176,7 +176,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -227,7 +227,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -282,7 +282,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/IsEmpty.cs

@@ -19,7 +19,7 @@ namespace System.Linq
 
             static async Task<bool> Core(IAsyncEnumerable<TSource> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Max.cs

@@ -24,7 +24,7 @@ namespace System.Linq
                     _comparer = Comparer<TSource>.Default;
                 }
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Min.cs

@@ -24,7 +24,7 @@ namespace System.Linq
                     _comparer = Comparer<TSource>.Default;
                 }
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/MinBy.cs

@@ -110,7 +110,7 @@ namespace System.Linq
         {
             var result = new List<TSource>();
 
-            var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {
@@ -151,7 +151,7 @@ namespace System.Linq
         {
             var result = new List<TSource>();
 
-            var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {
@@ -193,7 +193,7 @@ namespace System.Linq
         {
             var result = new List<TSource>();
 
-            var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/System/Linq/Operators/Scan.cs

@@ -27,7 +27,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -93,7 +93,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -134,7 +134,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Linq.Async/System/Linq/AsyncEnumerableHelpers.cs

@@ -44,7 +44,7 @@ namespace System.Collections.Generic
             }
             else
             {
-                var en = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var en = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 3 - 3
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Aggregate.cs

@@ -21,7 +21,7 @@ namespace System.Linq
 
             static async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, TSource, TSource> _accumulator, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -57,7 +57,7 @@ namespace System.Linq
 
             static async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, TSource, ValueTask<TSource>> _accumulator, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -94,7 +94,7 @@ namespace System.Linq
 
             static async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, TSource, CancellationToken, ValueTask<TSource>> _accumulator, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Any.cs

@@ -19,7 +19,7 @@ namespace System.Linq
 
             static async Task<bool> Core(IAsyncEnumerable<TSource> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 40 - 40
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Average.Generated.cs

@@ -19,7 +19,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<int> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -59,7 +59,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, int> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -99,7 +99,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<int>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -140,7 +140,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<int>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -179,7 +179,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<long> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -219,7 +219,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, long> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -259,7 +259,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<long>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -300,7 +300,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<long>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -339,7 +339,7 @@ namespace System.Linq
 
             static async Task<float> Core(IAsyncEnumerable<float> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -379,7 +379,7 @@ namespace System.Linq
 
             static async Task<float> Core(IAsyncEnumerable<TSource> _source, Func<TSource, float> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -419,7 +419,7 @@ namespace System.Linq
 
             static async Task<float> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<float>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -460,7 +460,7 @@ namespace System.Linq
 
             static async Task<float> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<float>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -499,7 +499,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<double> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -539,7 +539,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, double> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -579,7 +579,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<double>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -620,7 +620,7 @@ namespace System.Linq
 
             static async Task<double> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<double>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -659,7 +659,7 @@ namespace System.Linq
 
             static async Task<decimal> Core(IAsyncEnumerable<decimal> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -699,7 +699,7 @@ namespace System.Linq
 
             static async Task<decimal> Core(IAsyncEnumerable<TSource> _source, Func<TSource, decimal> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -739,7 +739,7 @@ namespace System.Linq
 
             static async Task<decimal> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<decimal>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -780,7 +780,7 @@ namespace System.Linq
 
             static async Task<decimal> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<decimal>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -819,7 +819,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<int?> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -867,7 +867,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, int?> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -915,7 +915,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<int?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -964,7 +964,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<int?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1011,7 +1011,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<long?> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1059,7 +1059,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, long?> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1107,7 +1107,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<long?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1156,7 +1156,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<long?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1203,7 +1203,7 @@ namespace System.Linq
 
             static async Task<float?> Core(IAsyncEnumerable<float?> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1251,7 +1251,7 @@ namespace System.Linq
 
             static async Task<float?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, float?> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1299,7 +1299,7 @@ namespace System.Linq
 
             static async Task<float?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<float?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1348,7 +1348,7 @@ namespace System.Linq
 
             static async Task<float?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<float?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1395,7 +1395,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<double?> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1443,7 +1443,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, double?> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1491,7 +1491,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<double?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1540,7 +1540,7 @@ namespace System.Linq
 
             static async Task<double?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<double?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1587,7 +1587,7 @@ namespace System.Linq
 
             static async Task<decimal?> Core(IAsyncEnumerable<decimal?> _source, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1635,7 +1635,7 @@ namespace System.Linq
 
             static async Task<decimal?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, decimal?> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1683,7 +1683,7 @@ namespace System.Linq
 
             static async Task<decimal?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<decimal?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1732,7 +1732,7 @@ namespace System.Linq
 
             static async Task<decimal?> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<decimal?>> _selector, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 4 - 4
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/FirstOrDefault.cs

@@ -97,7 +97,7 @@ namespace System.Linq
 
                 static async ValueTask<Maybe<TSource>> Core(IAsyncEnumerable<TSource> _source, CancellationToken _cancellationToken)
                 {
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -120,7 +120,7 @@ namespace System.Linq
 
         private static async Task<Maybe<TSource>> TryGetFirst<TSource>(IAsyncEnumerable<TSource> source, Func<TSource, bool> predicate, CancellationToken cancellationToken)
         {
-            var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {
@@ -144,7 +144,7 @@ namespace System.Linq
 
         private static async Task<Maybe<TSource>> TryGetFirst<TSource>(IAsyncEnumerable<TSource> source, Func<TSource, ValueTask<bool>> predicate, CancellationToken cancellationToken)
         {
-            var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {
@@ -169,7 +169,7 @@ namespace System.Linq
 #if !NO_DEEP_CANCELLATION
         private static async Task<Maybe<TSource>> TryGetFirst<TSource>(IAsyncEnumerable<TSource> source, Func<TSource, CancellationToken, ValueTask<bool>> predicate, CancellationToken cancellationToken)
         {
-            var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {

+ 3 - 3
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/GroupJoin.cs

@@ -31,7 +31,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e = outer.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = outer.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -79,7 +79,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e = outer.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = outer.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -128,7 +128,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e = outer.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = outer.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 3 - 3
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Join.cs

@@ -32,7 +32,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e = outer.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = outer.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -96,7 +96,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e = outer.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = outer.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -161,7 +161,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e = outer.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = outer.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 8 - 8
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Max.cs

@@ -25,7 +25,7 @@ namespace System.Linq
 
                     var value = default(TSource);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -68,7 +68,7 @@ namespace System.Linq
 
                     var value = default(TSource);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -115,7 +115,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -158,7 +158,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -205,7 +205,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -248,7 +248,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -297,7 +297,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -340,7 +340,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {

+ 8 - 8
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Min.cs

@@ -25,7 +25,7 @@ namespace System.Linq
 
                     var value = default(TSource);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -68,7 +68,7 @@ namespace System.Linq
 
                     var value = default(TSource);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -116,7 +116,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -159,7 +159,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -207,7 +207,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -250,7 +250,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -299,7 +299,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -342,7 +342,7 @@ namespace System.Linq
 
                     var value = default(TResult);
 
-                    var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {

+ 80 - 80
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/MinMax.Generated.cs

@@ -21,7 +21,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -63,7 +63,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -105,7 +105,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -148,7 +148,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -189,7 +189,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -270,7 +270,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -351,7 +351,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -433,7 +433,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -513,7 +513,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -555,7 +555,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -597,7 +597,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -640,7 +640,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -681,7 +681,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -762,7 +762,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -843,7 +843,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -925,7 +925,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1005,7 +1005,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1062,7 +1062,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1119,7 +1119,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1177,7 +1177,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1233,7 +1233,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1310,7 +1310,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1387,7 +1387,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1465,7 +1465,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1541,7 +1541,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1598,7 +1598,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1655,7 +1655,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1713,7 +1713,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1769,7 +1769,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1846,7 +1846,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -1923,7 +1923,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2001,7 +2001,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2077,7 +2077,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2119,7 +2119,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2161,7 +2161,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2204,7 +2204,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2245,7 +2245,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2300,7 +2300,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2355,7 +2355,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2411,7 +2411,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2465,7 +2465,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2507,7 +2507,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2549,7 +2549,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2592,7 +2592,7 @@ namespace System.Linq
             {
                 int value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2633,7 +2633,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2690,7 +2690,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2747,7 +2747,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2805,7 +2805,7 @@ namespace System.Linq
             {
                 int? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2861,7 +2861,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2903,7 +2903,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2945,7 +2945,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -2988,7 +2988,7 @@ namespace System.Linq
             {
                 long value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3029,7 +3029,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3086,7 +3086,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3143,7 +3143,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3201,7 +3201,7 @@ namespace System.Linq
             {
                 long? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3257,7 +3257,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3315,7 +3315,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3373,7 +3373,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3432,7 +3432,7 @@ namespace System.Linq
             {
                 float value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3489,7 +3489,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3562,7 +3562,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3635,7 +3635,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3709,7 +3709,7 @@ namespace System.Linq
             {
                 float? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3781,7 +3781,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3839,7 +3839,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3897,7 +3897,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -3956,7 +3956,7 @@ namespace System.Linq
             {
                 double value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4013,7 +4013,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4086,7 +4086,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4159,7 +4159,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4233,7 +4233,7 @@ namespace System.Linq
             {
                 double? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4305,7 +4305,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4347,7 +4347,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4389,7 +4389,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4432,7 +4432,7 @@ namespace System.Linq
             {
                 decimal value;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4473,7 +4473,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4528,7 +4528,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4583,7 +4583,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -4639,7 +4639,7 @@ namespace System.Linq
             {
                 decimal? value = null;
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 2 - 2
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/OrderedAsyncEnumerable.cs

@@ -264,7 +264,7 @@ namespace System.Linq
 
         public async ValueTask<Maybe<TElement>> TryGetFirstAsync(CancellationToken cancellationToken)
         {
-            var e = _source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = _source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {
@@ -299,7 +299,7 @@ namespace System.Linq
 
         public async ValueTask<Maybe<TElement>> TryGetLastAsync(CancellationToken cancellationToken)
         {
-            var e = _source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+            var e = _source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
             try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
             {

+ 2 - 2
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SequenceEqual.cs

@@ -52,11 +52,11 @@ namespace System.Linq
 
             static async Task<bool> Core(IAsyncEnumerable<TSource> _first, IAsyncEnumerable<TSource> _second, IEqualityComparer<TSource> _comparer, CancellationToken _cancellationToken)
             {
-                var e1 = _first.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e1 = _first.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
-                    var e2 = _second.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                    var e2 = _second.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {

+ 4 - 4
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Single.cs

@@ -30,7 +30,7 @@ namespace System.Linq
                     throw Error.MoreThanOneElement();
                 }
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -66,7 +66,7 @@ namespace System.Linq
 
             static async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, bool> _predicate, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -108,7 +108,7 @@ namespace System.Linq
 
             static async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<bool>> _predicate, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -151,7 +151,7 @@ namespace System.Linq
 
             static async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<bool>> _predicate, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 4 - 4
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SingleOrDefault.cs

@@ -30,7 +30,7 @@ namespace System.Linq
                     throw Error.MoreThanOneElement();
                 }
 
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -66,7 +66,7 @@ namespace System.Linq
 
             async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, bool> _predicate, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -108,7 +108,7 @@ namespace System.Linq
 
             async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, ValueTask<bool>> _predicate, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -151,7 +151,7 @@ namespace System.Linq
 
             async Task<TSource> Core(IAsyncEnumerable<TSource> _source, Func<TSource, CancellationToken, ValueTask<bool>> _predicate, CancellationToken _cancellationToken)
             {
-                var e = _source.GetAsyncEnumerator(_cancellationToken).ConfigureAwait(false);
+                var e = _source.GetConfiguredAsyncEnumerator(_cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SkipLast.cs

@@ -35,7 +35,7 @@ namespace System.Linq
             {
                 var queue = new Queue<TSource>();
 
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 6 - 6
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SkipWhile.cs

@@ -23,7 +23,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -66,7 +66,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -116,7 +116,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -160,7 +160,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -204,7 +204,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
@@ -255,7 +255,7 @@ namespace System.Linq
 
             async IAsyncEnumerator<TSource> Core(CancellationToken cancellationToken)
             {
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 1 - 1
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/TakeLast.cs

@@ -28,7 +28,7 @@ namespace System.Linq
             {
                 Queue<TSource> queue;
 
-                var e = source.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e = source.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {

+ 6 - 6
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Zip.cs

@@ -25,11 +25,11 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e1 = first.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e1 = first.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
-                    var e2 = second.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                    var e2 = second.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -67,11 +67,11 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e1 = first.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e1 = first.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
-                    var e2 = second.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                    var e2 = second.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {
@@ -110,11 +110,11 @@ namespace System.Linq
 
             async IAsyncEnumerator<TResult> Core(CancellationToken cancellationToken)
             {
-                var e1 = first.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                var e1 = first.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                 try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                 {
-                    var e2 = second.GetAsyncEnumerator(cancellationToken).ConfigureAwait(false);
+                    var e2 = second.GetConfiguredAsyncEnumerator(cancellationToken, false);
 
                     try // REVIEW: Can use `await using` if we get pattern bind (HAS_AWAIT_USING_PATTERN_BIND)
                     {

+ 2 - 50
Ix.NET/Source/System.Linq.Async/System/Threading/Tasks/AsyncEnumerableExtensions.cs

@@ -4,7 +4,6 @@
 
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
 
 namespace System.Threading.Tasks
 {
@@ -32,56 +31,9 @@ namespace System.Threading.Tasks
 
 #endif
 
-#if BCL_HAS_CONFIGUREAWAIT
-        public static ConfiguredAsyncEnumerator<T> ConfigureAwait<T>(this IAsyncEnumerator<T> enumerator, bool continueOnCapturedContext)
+        public static ConfiguredCancelableAsyncEnumerable<T>.Enumerator GetConfiguredAsyncEnumerator<T>(this IAsyncEnumerable<T> enumerable, CancellationToken cancellationToken, bool continueOnCapturedContext)
         {
-            if (enumerator == null)
-                throw Error.ArgumentNull(nameof(enumerator));
-
-            // NB: We need our own copy of the struct to access the constructor.
-            return new ConfiguredAsyncEnumerator<T>(enumerator, continueOnCapturedContext);
-        }
-
-        /// <summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
-        [StructLayout(LayoutKind.Auto)]
-        public readonly struct ConfiguredAsyncEnumerator<T>
-        {
-            private readonly IAsyncEnumerator<T> _enumerator;
-            private readonly bool _continueOnCapturedContext;
-
-            internal ConfiguredAsyncEnumerator(IAsyncEnumerator<T> enumerator, bool continueOnCapturedContext)
-            {
-                _enumerator = enumerator;
-                _continueOnCapturedContext = continueOnCapturedContext;
-            }
-
-            /// <summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
-            /// <returns>
-            /// A <see cref="ConfiguredValueTaskAwaitable{Boolean}"/> that will complete with a result of <c>true</c>
-            /// if the enumerator was successfully advanced to the next element, or <c>false</c> if the enumerator has
-            /// passed the end of the collection.
-            /// </returns>
-            public ConfiguredValueTaskAwaitable<bool> MoveNextAsync() =>
-                _enumerator.MoveNextAsync().ConfigureAwait(_continueOnCapturedContext);
-
-            /// <summary>Gets the element in the collection at the current position of the enumerator.</summary>
-            public T Current => _enumerator.Current;
-
-            /// <summary>
-            /// Performs application-defined tasks associated with freeing, releasing, or
-            /// resetting unmanaged resources asynchronously.
-            /// </summary>
-            public ConfiguredValueTaskAwaitable DisposeAsync() =>
-                _enumerator.DisposeAsync().ConfigureAwait(_continueOnCapturedContext);
-        }
-#else
-        public static ConfiguredCancelableAsyncEnumerable<T>.Enumerator ConfigureAwait<T>(this IAsyncEnumerator<T> enumerator, bool continueOnCapturedContext)
-        {
-            if (enumerator == null)
-                throw Error.ArgumentNull(nameof(enumerator));
-
-            return new ConfiguredCancelableAsyncEnumerable<T>.Enumerator(enumerator, continueOnCapturedContext);
+            return enumerable.ConfigureAwait(continueOnCapturedContext).WithCancellation(cancellationToken).GetAsyncEnumerator();
         }
-#endif
     }
 }