-
Notifications
You must be signed in to change notification settings - Fork 775
Description
Ix's System.Linq.Async
(deprecated by .NET 10's introduction of System.Linq.AsyncEnumerable
) offers overloads of certain operators that are not replicated by .NET 10. For example, there are overloads of AverageAsync
that take projection callbacks.
We need to ensure that we have dealt with these completely and consistently. In particular:
- move them to
System.Interactive.Async
in case where we are retaining the functionality - ensure any
Obsolete
attributes provide correct guidance
The current draft PR that paves the way for .NET 10's System.Linq.AsyncEnumerable
to replace Ix's System.Linq.Async
might have some inconsistencies. Some of the Obsolete
annotations tell you to replace a single call to a projecting form with a combination of Select
and the non-projecting form.
Either we should move all such overloads into System.Interactive.Async
or we should mark them as obsolete and tell people to use Select
to fill in the missing functionality, but we should not have mixture where we move these overloads for some operators, and tell people to do something else for other operators. We need to pick one strategy and use it consistently.
(Note that in some cases, .NET 10 offers the equivalent functionality through a different method. E.g. MaxBy
replaces some Max
overloads.)