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
Whole reference-tuple rows are spread before an omitted plain trailing array #7623
A reference-tuple row passed whole to the first test parameter is spread when a plain trailing array follows it. The binder can otherwise supply an empty trailing array; this shape instead fails with InvalidCastException.
Suppress TUnit0001 for this fixture (the analyzer limitation is tracked by #7622/#7587). With whole-row inference enabled, source-generated execution reports Unable to cast object of type System.Int32 to System.Tuple<int,string> instead of passing the tuple and an empty array.
Expected and actual
Expected: whole tuple binding followed by an empty collecting array, consistent with trailing-array collection elsewhere. Actual: tuple columns are passed as separate arguments. Optional and params parameters use whole-tuple binding, while plain trailing arrays are excluded by DataUnwrapper.RemainingDataParametersAreOmittable and the generator's tuple reconstruction condition.
Environment
.NET SDK 10.0.403, macOS arm64; reproduced during #7620 validation at f0e5567 with the optional-parameter inference correction. Both exclusion conditions remain on origin/main at 149ac45. Existing #7340 covers optional/params shapes and is closed; #7587 covers analyzer validation rather than runtime tuple retention.
Please support whole-tuple binding before an omitted plain trailing array in both execution modes, with runtime and analyzer regression coverage.
Activity
Fix wrapped tuple binding before omitted arrays (#7623)
Refresh wrapped tuple generator snapshot for #7623
Fix tuple array binding compatibility and test totals (#7623)
Preserve whole tuple rows before omitted trailing arrays (#7625)