We have a check for become f() tail calls which enforces that the callee's signature is compatible with the caller's signature.
Right now that compatibility check enforces equality of arguments, but I think it only should require a subtyping relationship between arguments.
I'm just opening this issue to track this so we don't forget that we should relax this and also reason about why it's sound.
We have a check for
become f()tail calls which enforces that the callee's signature is compatible with the caller's signature.Right now that compatibility check enforces equality of arguments, but I think it only should require a subtyping relationship between arguments.
I'm just opening this issue to track this so we don't forget that we should relax this and also reason about why it's sound.