While a call $f; return sequence where $f returns more values than its caller is valid so long as the tail of $f's returns match the caller's returns, however that situation is not valid for return_call $f. Tail callees must return the exact same number of results as the caller, not more. This case was not previously exercised in any of the spec tests.
Procedural note: I am adding all these tests to the function-references proposal to avoid needing to make multiple PRs to multiple repos because return_call_ref was not introduced until this proposal.
While a
call $f; return
sequence where$f
returns more values than its caller is valid so long as the tail of$f
's returns match the caller's returns, however that situation is not valid forreturn_call $f
. Tail callees must return the exact same number of results as the caller, not more. This case was not previously exercised in any of the spec tests.Procedural note: I am adding all these tests to the function-references proposal to avoid needing to make multiple PRs to multiple repos because
return_call_ref
was not introduced until this proposal.@rossberg PTAL