Skip to content

Tail call signature equality check only really needs to be subtyping #144953

@compiler-errors

Description

@compiler-errors

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    F-explicit_tail_calls`#![feature(explicit_tail_calls)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.requires-incomplete-featuresThis issue requires the use of incomplete features.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions