Move projection SumAsync to System.Interactive.Async #2289
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We missed this earlier. Similar to
AverageAsync, the set ofSumAsyncoverloads available in .NET 10's newSystem.Linq.AsyncEnumerablepackage is a subset of the overloads previously available inSystem.Linq.Async. Ix.NET always offered various projection-based overloads, but the newSystem.Linq.AsyncEnumerablepackage does not.The general pattern is that whereas
System.Linq.Asyncwas intended for core 'standard' LINQ features, we put Ix-specific operators inSystem.Interactive.Async. SinceSystem.Linq.AsyncEnumerabledoesn't provide these overloads, that pretty much means they aren't standard operators.We are aiming to deprecated Ix's
System.Linq.Async, so we can't just leave these overloads in there. So instead, we move them intoSystem.Interactive.Async. (They remain inSystem.Linq.Asyncin 'hidden' form, only present in the runtime assemblies to provide backwards compatibility.)We think this is the last of the work required to deal with potential conflicts between
System.Interactive.AsyncandSystem.Linq.AsyncEnumerable, so this closes #2279