|  Bart De Smet | 1a63ba15ab
							
							Use ValueTask<T> for aggregates to improve ergonomics when used in e.g. Select. | 6 years ago | 
				
					
						|  Bart De Smet | 645aa551dc
							
							Use static local functions. | 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 | 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 | 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 | 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 | 
				
					
						|  Bart De Smet | 2e45ab5b38
							
							Renaming some methods to use Core suffix. | 8 years ago | 
				
					
						|  Bart De Smet | 3c7f7f1637
							
							Splitting First and FirstOrDefault. | 8 years ago | 
				
					
						|  Bart De Smet | 1a7192b640
							
							Moving Standard Query Operators to System.Linq.Async. | 8 years ago |