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
CMTK0003 misses an array of Result tasks written in Task.WaitAll or Task.WaitAny #161
Found by the variant sweep of CMTK0003 before 2.3.0 (Variants/DroppedTaskShapes, the forms "Task.WaitAny of an array" and "Task.WaitAll of an array").
Problem
An array of tasks of results written inside a Task.WaitAll or Task.WaitAny call compiles with no CMTK0003, while the same tasks passed as separate arguments are reported at each call:
Task.WaitAll(orders.CancelAsync(first),orders.CancelAsync(second));// CMTK0003 at each callTask.WaitAll(new[]{orders.CancelAsync(first),orders.CancelAsync(second)});// no diagnostic
The sweep measured it: the Result call missed 14 diagnostics, exactly the array forms' cases, while the assertion forms reported them.
Cause
new[] { … } is a Task<Result<…>>[], which converts to Task[] as a whole: no element is converted on its own, and AnalyzeConversion asks Producers of the array creation, which yields nothing.
Release
2.2.0 code can contain the form. It ships in 2.3.0 under decision 0119, in the PR for #152, #157 and #159.
Fixed in #164 (into release/2.3.0), held by DroppedTaskVariantTests over Variants/DroppedTaskShapes and seeded. The Analyzers README and the changelog say what 2.3.0 reports; 2.2-writable forms ship under decision 0119.
Activity
fix: CMTK0003 reports assertions and results lost through Task's comb…
CaffeinatedCoder commentedon Oct 29, 2026
Fixed in #164 (into
release/2.3.0), held byDroppedTaskVariantTestsoverVariants/DroppedTaskShapesand seeded. The Analyzers README and the changelog say what 2.3.0 reports; 2.2-writable forms ship under decision 0119.CaffeinatedCoder commentedon Oct 29, 2026
Fixed in #164, merged into
release/2.3.0(9878a6c).