You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
VSTHRD103 false positive for Task.WhenAll with Select #1662
Select is intentionally synchronous here. It projects each item to a Task, and Task.WhenAll then asynchronously waits for every operation while preserving concurrent execution. Replacing this with an asynchronous LINQ operator is not equivalent and may serialize the operations.
Expected: VSTHRD103 should recognize Task.WhenAll(source.Select(SomeAsync)) as a legitimate asynchronous pattern and not report the Select invocation.
The diagnostic also occurs if the selected tasks are first assigned to an IEnumerable<Task<T>> and then passed to Task.WhenAll.
Activity