浏览代码

Remove CancellationToken from MoveNextCore.

Bart De Smet 8 年之前
父节点
当前提交
68ad7f4b40
共有 35 个文件被更改,包括 100 次插入103 次删除
  1. 5 5
      Ix.NET/Source/System.Interactive.Async/AppendPrepend.cs
  2. 1 1
      Ix.NET/Source/System.Interactive.Async/AsyncEnumerable.cs
  3. 2 2
      Ix.NET/Source/System.Interactive.Async/AsyncIterator.cs
  4. 1 1
      Ix.NET/Source/System.Interactive.Async/Buffer.cs
  5. 2 2
      Ix.NET/Source/System.Interactive.Async/Catch.cs
  6. 2 2
      Ix.NET/Source/System.Interactive.Async/Concatenate.cs
  7. 9 12
      Ix.NET/Source/System.Interactive.Async/Create.cs
  8. 1 1
      Ix.NET/Source/System.Interactive.Async/DefaultIfEmpty.cs
  9. 4 4
      Ix.NET/Source/System.Interactive.Async/Distinct.cs
  10. 1 1
      Ix.NET/Source/System.Interactive.Async/Do.cs
  11. 4 4
      Ix.NET/Source/System.Interactive.Async/Except.cs
  12. 1 1
      Ix.NET/Source/System.Interactive.Async/Expand.cs
  13. 1 1
      Ix.NET/Source/System.Interactive.Async/Finally.cs
  14. 1 1
      Ix.NET/Source/System.Interactive.Async/Generate.cs
  15. 15 15
      Ix.NET/Source/System.Interactive.Async/Grouping.cs
  16. 1 1
      Ix.NET/Source/System.Interactive.Async/IgnoreElements.cs
  17. 4 4
      Ix.NET/Source/System.Interactive.Async/Intersect.cs
  18. 1 1
      Ix.NET/Source/System.Interactive.Async/Join.cs
  19. 3 3
      Ix.NET/Source/System.Interactive.Async/Lookup.cs
  20. 1 1
      Ix.NET/Source/System.Interactive.Async/OnErrorResumeNext.cs
  21. 6 6
      Ix.NET/Source/System.Interactive.Async/OrderedAsyncEnumerable.cs
  22. 2 2
      Ix.NET/Source/System.Interactive.Async/Repeat.cs
  23. 2 2
      Ix.NET/Source/System.Interactive.Async/Reverse.cs
  24. 2 2
      Ix.NET/Source/System.Interactive.Async/Scan.cs
  25. 3 3
      Ix.NET/Source/System.Interactive.Async/Select.cs
  26. 4 4
      Ix.NET/Source/System.Interactive.Async/SelectMany.cs
  27. 4 4
      Ix.NET/Source/System.Interactive.Async/Skip.cs
  28. 4 4
      Ix.NET/Source/System.Interactive.Async/Take.cs
  29. 3 3
      Ix.NET/Source/System.Interactive.Async/ToAsyncEnumerable.cs
  30. 1 1
      Ix.NET/Source/System.Interactive.Async/ToObservable.cs
  31. 1 1
      Ix.NET/Source/System.Interactive.Async/Using.cs
  32. 3 3
      Ix.NET/Source/System.Interactive.Async/Where.cs
  33. 1 1
      Ix.NET/Source/System.Interactive.Async/Zip.cs
  34. 3 3
      Ix.NET/Source/Tests/AsyncTests.Conversions.cs
  35. 1 1
      Ix.NET/Source/Tests/AsyncTests.Creation.cs

+ 5 - 5
Ix.NET/Source/System.Interactive.Async/AppendPrepend.cs

@@ -60,7 +60,7 @@ namespace System.Linq
             public abstract AppendPrepentAsyncIterator<TSource> Append(TSource item);
             public abstract AppendPrepentAsyncIterator<TSource> Append(TSource item);
             public abstract AppendPrepentAsyncIterator<TSource> Prepend(TSource item);
             public abstract AppendPrepentAsyncIterator<TSource> Prepend(TSource item);
 
 
-            protected async Task<bool> LoadFromEnumerator(CancellationToken cancellationToken)
+            protected async Task<bool> LoadFromEnumerator()
             {
             {
                 if (await enumerator.MoveNextAsync()
                 if (await enumerator.MoveNextAsync()
                                     .ConfigureAwait(false))
                                     .ConfigureAwait(false))
@@ -111,7 +111,7 @@ namespace System.Linq
             }
             }
 
 
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -135,7 +135,7 @@ namespace System.Linq
 
 
                         if (enumerator != null)
                         if (enumerator != null)
                         {
                         {
-                            if (await LoadFromEnumerator(cancellationToken)
+                            if (await LoadFromEnumerator()
                                 .ConfigureAwait(false))
                                 .ConfigureAwait(false))
                             {
                             {
                                 return true;
                                 return true;
@@ -341,7 +341,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -371,7 +371,7 @@ namespace System.Linq
                                 goto case 3;
                                 goto case 3;
 
 
                             case 3:
                             case 3:
-                                if (await LoadFromEnumerator(cancellationToken)
+                                if (await LoadFromEnumerator()
                                         .ConfigureAwait(false))
                                         .ConfigureAwait(false))
                                 {
                                 {
                                     return true;
                                     return true;

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/AsyncEnumerable.cs

@@ -48,7 +48,7 @@ namespace System.Linq
         {
         {
             return CreateEnumerable(
             return CreateEnumerable(
                 () => CreateEnumerator<TValue>(
                 () => CreateEnumerator<TValue>(
-                    (ct, tcs) => tcs.Task,
+                    tcs => tcs.Task,
                     null,
                     null,
                     null)
                     null)
             );
             );

+ 2 - 2
Ix.NET/Source/System.Interactive.Async/AsyncIterator.cs

@@ -86,7 +86,7 @@ namespace System.Linq
 
 
                 try
                 try
                 {
                 {
-                    var result = await MoveNextCore(default(CancellationToken))
+                    var result = await MoveNextCore()
                                         .ConfigureAwait(false);
                                         .ConfigureAwait(false);
 
 
                     currentIsInvalid = !result; // if move next is false, invalid otherwise valid
                     currentIsInvalid = !result; // if move next is false, invalid otherwise valid
@@ -113,7 +113,7 @@ namespace System.Linq
                 return new WhereEnumerableAsyncIterator<TSource>(this, predicate);
                 return new WhereEnumerableAsyncIterator<TSource>(this, predicate);
             }
             }
 
 
-            protected abstract Task<bool> MoveNextCore(CancellationToken cancellationToken);
+            protected abstract Task<bool> MoveNextCore();
 
 
             protected virtual void OnGetEnumerator()
             protected virtual void OnGetEnumerator()
             {
             {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Buffer.cs

@@ -71,7 +71,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 2 - 2
Ix.NET/Source/System.Interactive.Async/Catch.cs

@@ -87,7 +87,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -184,7 +184,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 2 - 2
Ix.NET/Source/System.Interactive.Async/Concatenate.cs

@@ -86,7 +86,7 @@ namespace System.Linq
             const int State_OuterNext = 1;
             const int State_OuterNext = 1;
             const int State_While = 4;
             const int State_While = 4;
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
 
 
                 switch (state)
                 switch (state)
@@ -240,7 +240,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 if (state == AsyncIteratorState.Allocated)
                 if (state == AsyncIteratorState.Allocated)
                 {
                 {

+ 9 - 12
Ix.NET/Source/System.Interactive.Async/Create.cs

@@ -19,7 +19,7 @@ namespace System.Linq
             return new AnonymousAsyncEnumerable<T>(getEnumerator);
             return new AnonymousAsyncEnumerable<T>(getEnumerator);
         }
         }
 
 
-        public static IAsyncEnumerator<T> CreateEnumerator<T>(Func<CancellationToken, Task<bool>> moveNext, Func<T> current, Action dispose)
+        public static IAsyncEnumerator<T> CreateEnumerator<T>(Func<Task<bool>> moveNext, Func<T> current, Action dispose)
         {
         {
             if (moveNext == null)
             if (moveNext == null)
                 throw new ArgumentNullException(nameof(moveNext));
                 throw new ArgumentNullException(nameof(moveNext));
@@ -29,10 +29,10 @@ namespace System.Linq
             return new AnonymousAsyncIterator<T>(moveNext, current, dispose);
             return new AnonymousAsyncIterator<T>(moveNext, current, dispose);
         }
         }
 
 
-        private static IAsyncEnumerator<T> CreateEnumerator<T>(Func<CancellationToken, TaskCompletionSource<bool>, Task<bool>> moveNext, Func<T> current, Action dispose)
+        private static IAsyncEnumerator<T> CreateEnumerator<T>(Func<TaskCompletionSource<bool>, Task<bool>> moveNext, Func<T> current, Action dispose)
         {
         {
             var self = new AnonymousAsyncIterator<T>(
             var self = new AnonymousAsyncIterator<T>(
-                async ct =>
+                async () =>
                 {
                 {
                     var tcs = new TaskCompletionSource<bool>();
                     var tcs = new TaskCompletionSource<bool>();
 
 
@@ -42,11 +42,8 @@ namespace System.Linq
                             tcs.TrySetCanceled();
                             tcs.TrySetCanceled();
                         });
                         });
 
 
-                    using (ct.Register(stop))
-                    {
-                        return await moveNext(ct, tcs)
-                                   .ConfigureAwait(false);
-                    }
+                    return await moveNext(tcs)
+                                .ConfigureAwait(false);
                 },
                 },
                 current,
                 current,
                 dispose
                 dispose
@@ -75,10 +72,10 @@ namespace System.Linq
         {
         {
             private readonly Func<T> currentFunc;
             private readonly Func<T> currentFunc;
             private readonly Action dispose;
             private readonly Action dispose;
-            private readonly Func<CancellationToken, Task<bool>> moveNext;
+            private readonly Func<Task<bool>> moveNext;
 
 
 
 
-            public AnonymousAsyncIterator(Func<CancellationToken, Task<bool>> moveNext, Func<T> currentFunc, Action dispose)
+            public AnonymousAsyncIterator(Func<Task<bool>> moveNext, Func<T> currentFunc, Action dispose)
             {
             {
                 Debug.Assert(moveNext != null);
                 Debug.Assert(moveNext != null);
 
 
@@ -102,7 +99,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -111,7 +108,7 @@ namespace System.Linq
                         goto case AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
 
 
                     case AsyncIteratorState.Iterating:
                     case AsyncIteratorState.Iterating:
-                        if (await moveNext(cancellationToken).ConfigureAwait(false))
+                        if (await moveNext().ConfigureAwait(false))
                         {
                         {
                             current = currentFunc();
                             current = currentFunc();
                             return true;
                             return true;

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/DefaultIfEmpty.cs

@@ -59,7 +59,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/Distinct.cs

@@ -172,7 +172,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -285,7 +285,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -375,7 +375,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -446,7 +446,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Do.cs

@@ -110,7 +110,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/Except.cs

@@ -75,7 +75,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -83,7 +83,7 @@ namespace System.Linq
                         firstEnumerator = first.GetAsyncEnumerator();
                         firstEnumerator = first.GetAsyncEnumerator();
                         set = new Set<TSource>(comparer);
                         set = new Set<TSource>(comparer);
                         setFilled = false;
                         setFilled = false;
-                        fillSetTask = FillSet(cancellationToken);
+                        fillSetTask = FillSet();
 
 
                         state = AsyncIteratorState.Iterating;
                         state = AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
@@ -127,9 +127,9 @@ namespace System.Linq
                 return false;
                 return false;
             }
             }
 
 
-            private async Task FillSet(CancellationToken cancellationToken)
+            private async Task FillSet()
             {
             {
-                var array = await second.ToArray(cancellationToken)
+                var array = await second.ToArray()
                                         .ConfigureAwait(false);
                                         .ConfigureAwait(false);
                 foreach (var t in array)
                 foreach (var t in array)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Expand.cs

@@ -57,7 +57,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Finally.cs

@@ -55,7 +55,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Generate.cs

@@ -58,7 +58,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 15 - 15
Ix.NET/Source/System.Interactive.Async/Grouping.cs

@@ -159,12 +159,12 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
                     case AsyncIteratorState.Allocated:
                     case AsyncIteratorState.Allocated:
-                        lookup = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                        lookup = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
                         enumerator = lookup.ApplyResultSelector(resultSelector).GetEnumerator();
                         enumerator = lookup.ApplyResultSelector(resultSelector).GetEnumerator();
                         state = AsyncIteratorState.Iterating;
                         state = AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
@@ -185,13 +185,13 @@ namespace System.Linq
 
 
             public async Task<TResult[]> ToArrayAsync(CancellationToken cancellationToken)
             public async Task<TResult[]> ToArrayAsync(CancellationToken cancellationToken)
             {
             {
-                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
                 return l.ToArray(resultSelector);
                 return l.ToArray(resultSelector);
             }
             }
 
 
             public async Task<List<TResult>> ToListAsync(CancellationToken cancellationToken)
             public async Task<List<TResult>> ToListAsync(CancellationToken cancellationToken)
             {
             {
-                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
                 return l.ToList(resultSelector);
                 return l.ToList(resultSelector);
             }
             }
 
 
@@ -202,7 +202,7 @@ namespace System.Linq
                     return -1;
                     return -1;
                 }
                 }
 
 
-                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
 
 
                 return l.Count;
                 return l.Count;
             }
             }
@@ -248,12 +248,12 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
                     case AsyncIteratorState.Allocated:
                     case AsyncIteratorState.Allocated:
-                        lookup = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer, cancellationToken).ConfigureAwait(false);
+                        lookup = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer).ConfigureAwait(false);
                         enumerator = lookup.GetEnumerator();
                         enumerator = lookup.GetEnumerator();
                         state = AsyncIteratorState.Iterating;
                         state = AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
@@ -274,13 +274,13 @@ namespace System.Linq
             
             
             public async Task<IAsyncGrouping<TKey, TElement>[]> ToArrayAsync(CancellationToken cancellationToken)
             public async Task<IAsyncGrouping<TKey, TElement>[]> ToArrayAsync(CancellationToken cancellationToken)
             {
             {
-                IIListProvider<IAsyncGrouping<TKey, TElement>> l = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer, cancellationToken).ConfigureAwait(false);
+                IIListProvider<IAsyncGrouping<TKey, TElement>> l = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer).ConfigureAwait(false);
                 return await l.ToArrayAsync(cancellationToken).ConfigureAwait(false);
                 return await l.ToArrayAsync(cancellationToken).ConfigureAwait(false);
             }
             }
 
 
             public async Task<List<IAsyncGrouping<TKey, TElement>>> ToListAsync(CancellationToken cancellationToken)
             public async Task<List<IAsyncGrouping<TKey, TElement>>> ToListAsync(CancellationToken cancellationToken)
             {
             {
-                IIListProvider<IAsyncGrouping<TKey, TElement>> l = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer, cancellationToken).ConfigureAwait(false);
+                IIListProvider<IAsyncGrouping<TKey, TElement>> l = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer).ConfigureAwait(false);
                 return await l.ToListAsync(cancellationToken).ConfigureAwait(false);
                 return await l.ToListAsync(cancellationToken).ConfigureAwait(false);
             }
             }
 
 
@@ -291,7 +291,7 @@ namespace System.Linq
                     return -1;
                     return -1;
                 }
                 }
 
 
-                var l = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer, cancellationToken).ConfigureAwait(false);
+                var l = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer).ConfigureAwait(false);
 
 
                 return l.Count;
                 return l.Count;
             }
             }
@@ -333,12 +333,12 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
                     case AsyncIteratorState.Allocated:
                     case AsyncIteratorState.Allocated:
-                        lookup = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                        lookup = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
                         enumerator = lookup.GetEnumerator();
                         enumerator = lookup.GetEnumerator();
                         state = AsyncIteratorState.Iterating;
                         state = AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
@@ -359,13 +359,13 @@ namespace System.Linq
 
 
             public async Task<IAsyncGrouping<TKey, TSource>[]> ToArrayAsync(CancellationToken cancellationToken)
             public async Task<IAsyncGrouping<TKey, TSource>[]> ToArrayAsync(CancellationToken cancellationToken)
             {
             {
-                IIListProvider<IAsyncGrouping<TKey, TSource>> l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                IIListProvider<IAsyncGrouping<TKey, TSource>> l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
                 return await l.ToArrayAsync(cancellationToken).ConfigureAwait(false);
                 return await l.ToArrayAsync(cancellationToken).ConfigureAwait(false);
             }
             }
 
 
             public async Task<List<IAsyncGrouping<TKey, TSource>>> ToListAsync(CancellationToken cancellationToken)
             public async Task<List<IAsyncGrouping<TKey, TSource>>> ToListAsync(CancellationToken cancellationToken)
             {
             {
-                IIListProvider<IAsyncGrouping<TKey, TSource>> l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                IIListProvider<IAsyncGrouping<TKey, TSource>> l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
                 return await l.ToListAsync(cancellationToken).ConfigureAwait(false);
                 return await l.ToListAsync(cancellationToken).ConfigureAwait(false);
             }
             }
 
 
@@ -376,7 +376,7 @@ namespace System.Linq
                     return -1;
                     return -1;
                 }
                 }
 
 
-                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer, cancellationToken).ConfigureAwait(false);
+                var l = await Internal.Lookup<TKey, TSource>.CreateAsync(source, keySelector, comparer).ConfigureAwait(false);
 
 
                 return l.Count;
                 return l.Count;
             }
             }

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/IgnoreElements.cs

@@ -47,7 +47,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/Intersect.cs

@@ -76,7 +76,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -84,7 +84,7 @@ namespace System.Linq
                         firstEnumerator = first.GetAsyncEnumerator();
                         firstEnumerator = first.GetAsyncEnumerator();
                         set = new Set<TSource>(comparer);
                         set = new Set<TSource>(comparer);
                         setFilled = false;
                         setFilled = false;
-                        fillSetTask = FillSet(cancellationToken);
+                        fillSetTask = FillSet();
 
 
                         state = AsyncIteratorState.Iterating;
                         state = AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
                         goto case AsyncIteratorState.Iterating;
@@ -127,9 +127,9 @@ namespace System.Linq
                 return false;
                 return false;
             }
             }
 
 
-            private async Task FillSet(CancellationToken cancellationToken)
+            private async Task FillSet()
             {
             {
-                var array = await second.ToArray(cancellationToken)
+                var array = await second.ToArray()
                                         .ConfigureAwait(false);
                                         .ConfigureAwait(false);
                 for (var i = 0; i < array.Length; i++)
                 for (var i = 0; i < array.Length; i++)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Join.cs

@@ -102,7 +102,7 @@ namespace System.Linq
             const int State_For = 3;
             const int State_For = 3;
             const int State_While = 4;
             const int State_While = 4;
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/Lookup.cs

@@ -74,7 +74,7 @@ namespace System.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            var lookup = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer, cancellationToken)
+            var lookup = await Internal.Lookup<TKey, TElement>.CreateAsync(source, keySelector, elementSelector, comparer)
                                        .ConfigureAwait(false);
                                        .ConfigureAwait(false);
 
 
             return lookup;
             return lookup;
@@ -189,7 +189,7 @@ namespace System.Linq.Internal
             }
             }
         }
         }
         
         
-        internal static async Task<Lookup<TKey, TElement>> CreateAsync<TSource>(IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer, CancellationToken cancellationToken)
+        internal static async Task<Lookup<TKey, TElement>> CreateAsync<TSource>(IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
         {
         {
             Debug.Assert(source != null);
             Debug.Assert(source != null);
             Debug.Assert(keySelector != null);
             Debug.Assert(keySelector != null);
@@ -209,7 +209,7 @@ namespace System.Linq.Internal
             return lookup;
             return lookup;
         }
         }
 
 
-        internal static async Task<Lookup<TKey, TElement>> CreateAsync(IAsyncEnumerable<TElement> source, Func<TElement, TKey> keySelector,  IEqualityComparer<TKey> comparer, CancellationToken cancellationToken)
+        internal static async Task<Lookup<TKey, TElement>> CreateAsync(IAsyncEnumerable<TElement> source, Func<TElement, TKey> keySelector,  IEqualityComparer<TKey> comparer)
         {
         {
             Debug.Assert(source != null);
             Debug.Assert(source != null);
             Debug.Assert(keySelector != null);
             Debug.Assert(keySelector != null);

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/OnErrorResumeNext.cs

@@ -80,7 +80,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 6 - 6
Ix.NET/Source/System.Interactive.Async/OrderedAsyncEnumerable.cs

@@ -19,7 +19,7 @@ namespace System.Linq
             return new OrderedAsyncEnumerable<TElement, TKey>(source, keySelector, comparer, descending, this);
             return new OrderedAsyncEnumerable<TElement, TKey>(source, keySelector, comparer, descending, this);
         }
         }
 
 
-        internal abstract Task Initialize(CancellationToken cancellationToken);
+        internal abstract Task Initialize();
     }
     }
 
 
     internal sealed class OrderedAsyncEnumerable<TElement, TKey> : OrderedAsyncEnumerable<TElement>
     internal sealed class OrderedAsyncEnumerable<TElement, TKey> : OrderedAsyncEnumerable<TElement>
@@ -67,13 +67,13 @@ namespace System.Linq
             base.Dispose();
             base.Dispose();
         }
         }
 
 
-        protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+        protected override async Task<bool> MoveNextCore()
         {
         {
             switch (state)
             switch (state)
             {
             {
                 case AsyncEnumerable.AsyncIteratorState.Allocated:
                 case AsyncEnumerable.AsyncIteratorState.Allocated:
 
 
-                    await Initialize(cancellationToken)
+                    await Initialize()
                         .ConfigureAwait(false);
                         .ConfigureAwait(false);
 
 
                     enumerator = enumerable.GetEnumerator();
                     enumerator = enumerable.GetEnumerator();
@@ -94,18 +94,18 @@ namespace System.Linq
             return false;
             return false;
         }
         }
 
 
-        internal override async Task Initialize(CancellationToken cancellationToken)
+        internal override async Task Initialize()
         {
         {
             if (parent == null)
             if (parent == null)
             {
             {
-                var buffer = await source.ToList(cancellationToken)
+                var buffer = await source.ToList()
                                          .ConfigureAwait(false);
                                          .ConfigureAwait(false);
                 enumerable = (!@descending ? buffer.OrderBy(keySelector, comparer) : buffer.OrderByDescending(keySelector, comparer));
                 enumerable = (!@descending ? buffer.OrderBy(keySelector, comparer) : buffer.OrderByDescending(keySelector, comparer));
             }
             }
             else
             else
             {
             {
                 parentEnumerator = parent.GetAsyncEnumerator();
                 parentEnumerator = parent.GetAsyncEnumerator();
-                await parent.Initialize(cancellationToken)
+                await parent.Initialize()
                             .ConfigureAwait(false);
                             .ConfigureAwait(false);
                 enumerable = parent.enumerable.CreateOrderedEnumerable(keySelector, comparer, @descending);
                 enumerable = parent.enumerable.CreateOrderedEnumerable(keySelector, comparer, @descending);
             }
             }

+ 2 - 2
Ix.NET/Source/System.Interactive.Async/Repeat.cs

@@ -57,7 +57,7 @@ namespace System.Linq
                 return new RepeatElementAsyncIterator<TResult>(element);
                 return new RepeatElementAsyncIterator<TResult>(element);
             }
             }
 
 
-            protected override Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override Task<bool> MoveNextCore()
             {
             {
                 current = element;
                 current = element;
                 return TaskExt.True;
                 return TaskExt.True;
@@ -99,7 +99,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 2 - 2
Ix.NET/Source/System.Interactive.Async/Reverse.cs

@@ -90,12 +90,12 @@ namespace System.Linq
             }
             }
 
 
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
                     case AsyncIteratorState.Allocated:
                     case AsyncIteratorState.Allocated:
-                        items = await source.ToArray(cancellationToken)
+                        items = await source.ToArray()
                                             .ConfigureAwait(false);
                                             .ConfigureAwait(false);
                         index = items.Length - 1;
                         index = items.Length - 1;
 
 

+ 2 - 2
Ix.NET/Source/System.Interactive.Async/Scan.cs

@@ -67,7 +67,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -133,7 +133,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/Select.cs

@@ -83,7 +83,7 @@ namespace System.Linq
                 return new SelectEnumerableAsyncIterator<TSource, TResult1>(source, CombineSelectors(this.selector, selector));
                 return new SelectEnumerableAsyncIterator<TSource, TResult1>(source, CombineSelectors(this.selector, selector));
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -140,7 +140,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -206,7 +206,7 @@ namespace System.Linq
                 return new SelectIListIterator<TSource, TResult1>(source, CombineSelectors(this.selector, selector));
                 return new SelectIListIterator<TSource, TResult1>(source, CombineSelectors(this.selector, selector));
             }
             }
 
 
-            protected override Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/SelectMany.cs

@@ -109,7 +109,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -204,7 +204,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -301,7 +301,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -399,7 +399,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/Skip.cs

@@ -105,7 +105,7 @@ namespace System.Linq
             }
             }
 
 
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -175,7 +175,7 @@ namespace System.Linq
             }
             }
 
 
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -241,7 +241,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -318,7 +318,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 4 - 4
Ix.NET/Source/System.Interactive.Async/Take.cs

@@ -91,7 +91,7 @@ namespace System.Linq
             }
             }
 
 
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -153,7 +153,7 @@ namespace System.Linq
             }
             }
 
 
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -244,7 +244,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -309,7 +309,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/ToAsyncEnumerable.cs

@@ -105,7 +105,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -174,7 +174,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -276,7 +276,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/ToObservable.cs

@@ -24,7 +24,7 @@ namespace System.Linq
                     var subscription = source.Subscribe(observer);
                     var subscription = source.Subscribe(observer);
 
 
                     return CreateEnumerator(
                     return CreateEnumerator(
-                        (ct, tcs) =>
+                        tcs =>
                         {
                         {
                             var hasValue = false;
                             var hasValue = false;
                             var hasCompleted = false;
                             var hasCompleted = false;

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Using.cs

@@ -61,7 +61,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/Where.cs

@@ -83,7 +83,7 @@ namespace System.Linq
                 return new WhereEnumerableAsyncIterator<TSource>(source, CombinePredicates(this.predicate, predicate));
                 return new WhereEnumerableAsyncIterator<TSource>(source, CombinePredicates(this.predicate, predicate));
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -144,7 +144,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {
@@ -218,7 +218,7 @@ namespace System.Linq
                 return new WhereSelectEnumerableAsyncIterator<TSource, TResult1>(source, predicate, CombineSelectors(this.selector, selector));
                 return new WhereSelectEnumerableAsyncIterator<TSource, TResult1>(source, predicate, CombineSelectors(this.selector, selector));
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 1 - 1
Ix.NET/Source/System.Interactive.Async/Zip.cs

@@ -64,7 +64,7 @@ namespace System.Linq
                 base.Dispose();
                 base.Dispose();
             }
             }
 
 
-            protected override async Task<bool> MoveNextCore(CancellationToken cancellationToken)
+            protected override async Task<bool> MoveNextCore()
             {
             {
                 switch (state)
                 switch (state)
                 {
                 {

+ 3 - 3
Ix.NET/Source/Tests/AsyncTests.Conversions.cs

@@ -451,7 +451,7 @@ namespace Tests
 
 
             var ae = AsyncEnumerable.CreateEnumerable(
             var ae = AsyncEnumerable.CreateEnumerable(
                 () => AsyncEnumerable.CreateEnumerator<int>(
                 () => AsyncEnumerable.CreateEnumerator<int>(
-                    ct => Task.FromResult(false),
+                    () => Task.FromResult(false),
                     () => { throw new InvalidOperationException(); },
                     () => { throw new InvalidOperationException(); },
                     () => { evt.Set(); }));
                     () => { evt.Set(); }));
 
 
@@ -485,7 +485,7 @@ namespace Tests
 
 
             var ae = AsyncEnumerable.CreateEnumerable(
             var ae = AsyncEnumerable.CreateEnumerable(
                 () => AsyncEnumerable.CreateEnumerator(
                 () => AsyncEnumerable.CreateEnumerator(
-                    async ct =>
+                    async () =>
                     {
                     {
                         await subscriptionAssignedTcs.Task;
                         await subscriptionAssignedTcs.Task;
                         return true;
                         return true;
@@ -527,7 +527,7 @@ namespace Tests
 
 
             var ae = AsyncEnumerable.CreateEnumerable(
             var ae = AsyncEnumerable.CreateEnumerable(
                 () => AsyncEnumerable.CreateEnumerator(
                 () => AsyncEnumerable.CreateEnumerator(
-                    async ct =>
+                    async () =>
                     {
                     {
                         await subscriptionAssignedTcs.Task;
                         await subscriptionAssignedTcs.Task;
 
 

+ 1 - 1
Ix.NET/Source/Tests/AsyncTests.Creation.cs

@@ -27,7 +27,7 @@ namespace Tests
         public void Create_Iterator_Throws()
         public void Create_Iterator_Throws()
         {
         {
      
      
-           var iter = AsyncEnumerable.CreateEnumerator<int>(c => Task.FromResult(true), () => 3, () => { });
+           var iter = AsyncEnumerable.CreateEnumerator<int>(() => Task.FromResult(true), () => 3, () => { });
 
 
             var enu = (IAsyncEnumerable<int>)iter;
             var enu = (IAsyncEnumerable<int>)iter;