It won't just be copying the regular Linq extensions like Chunk that return newly allocated collections. Will need to be clever about exposing temporary collections so they can be pooled after use.
[x] Aggregate
[x] AggregateBy
[x] All
[x] Any
[x] Append
[x] Average
[ ] Cast (Not including since we don't support non-generic AsyncEnumerable, and we can't have covariant structs, and C# doesn't allow generic extension classes.)
[x] Chunk
[x] Concat
[x] Contains
[x] Count
[x] CountBy
[x] DefaultIfEmpty
[x] Distinct
[x] DistinctBy
[x] ElementAt
[x] ElementAtOrDefault
[x] Except
[x] ExceptBy
[x] First
[x] FirstOrDefault
[x] GroupBy
[x] GroupJoin
[x] Index
[x] Intersect
[x] IntersectBy
[x] Join
[x] Last
[x] LastOrDefault
[x] LongCount
[x] Max
[x] MaxBy
[x] Min
[x] MinBy
[ ] OfType (Not including for the same reasons as Cast.)
It won't just be copying the regular Linq extensions like
Chunk
that return newly allocated collections. Will need to be clever about exposing temporary collections so they can be pooled after use.Cast(Not including since we don't support non-genericAsyncEnumerable
, and we can't have covariant structs, and C# doesn't allow generic extension classes.)OfType(Not including for the same reasons asCast
.)