Bart De Smet
|
f2ce04b662
The Big Rename to avoid ambiguity between sync/async/cancellable overloads of operators.
|
6 years ago |
Bart De Smet
|
0171e2bad0
Use await using which now can bind to configured tasks.
|
6 years ago |
Bart De Smet
|
50ae7fe619
Update comment to use `await using`.
|
6 years ago |
Bart De Smet
|
1a63ba15ab
Use ValueTask<T> for aggregates to improve ergonomics when used in e.g. Select.
|
6 years ago |
Bart De Smet
|
9ec8a1f1b4
Remove ConfigureAwait on IAsyncEnumerator<T> in favor of GetConfiguredAsyncEnumerator.
|
6 years ago |
Bart De Smet
|
f5fc1e4353
Getting rid of USE_AWAIT_USING to ensure proper binding for ConfigureAwait(false).
|
6 years ago |
Bart De Smet
|
ca0a8b53b4
Change CSHARP8 for USE_* checks. Enable C# 8.0 for all builds.
|
6 years ago |
Bart De Smet
|
645aa551dc
Use static local functions.
|
6 years ago |
Bart De Smet
|
8e5a9f51cd
Use C# 8.0 in First.
|
6 years ago |
Bart De Smet
|
0980e87430
Avoiding heap-allocated closures
|
6 years ago |
Bart De Smet
|
15fb36bba0
Simplify code using local functions
|
6 years ago |
Bart De Smet
|
369026d24e
Taming CancellationToken overload hell
|
6 years ago |
Oren Novotny
|
b9f9514d57
Revert "Use only var when type is obvious."
|
6 years ago |
Bart De Smet
|
876ee400a9
Use only var when type is obvious.
|
6 years ago |
Bart De Smet
|
d596d9f6d8
Adding "deep cancellation" API surface predicated by a NO_DEEP_CANCELLATION symbol.
|
7 years ago |
Bart De Smet
|
af6a43d236
Use ValueTask for internal IAsyncPartition interface.
|
7 years ago |
Bart De Smet
|
8be4811163
Moving to Async naming convention.
|
7 years ago |
Bart De Smet
|
aacb761f40
Switch to ValueTask for predicates, selectors, etc. We await those ourselves and they are expected to be called in a high-frequency manner, so this seems to be the right choice. The only drawback is when these operators are used using method group conversion of a Task-returning async method, which is likely rare in query expressions where one typically uses (async) lambdas, and there's a workaround Task-to-ValueTask conversion. We can't overload on ValueTask and Task return types, so this seems the best way forward.
|
7 years ago |
Bart De Smet
|
cfd11d1c62
Adding BCL style exception factories.
|
7 years ago |
Bart De Smet
|
8ca4d672cc
A few small optimizations.
|
7 years ago |
Bart De Smet
|
038c04af2e
Fix loop in First.
|
7 years ago |
Bart De Smet
|
051f53ecf5
Minor simplification of the code.
|
7 years ago |
Bart De Smet
|
69a02b3516
Optimize First.
|
7 years ago |
Bart De Smet
|
743e98cf90
Using Core pattern for First, Last, Single.
|
7 years ago |
Bart De Smet
|
4847c39521
Modernize some code.
|
7 years ago |
Bart De Smet
|
271688e421
Adapting to GetAsyncEnumerator(CancellationToken) interface change.
|
7 years ago |
Bart De Smet
|
bcd0512515
Feeding CancellationToken to IAsyncPartition operations.
|
8 years ago |
Bart De Smet
|
e9f72835b4
Renaming IAsyncPartition methods to use Async suffix.
|
8 years ago |
Bart De Smet
|
df9874703a
Supporting IAsyncPartition in [First|Last|ElementAt][OrDefaut].
|
8 years ago |
Bart De Smet
|
ba258fdb70
Simplifying some logic in First[OrDefault].
|
8 years ago |