Skip to content

Support TerminatorKind::TailCall #110

@RyanGlScott

Description

@RyanGlScott

Recent versions of Rust now feature TerminatorKind::TailCail, which was introduced in rust-lang/rust#113128. As far as I can tell, the only way for MIR to contain a TailCall terminator is by using the experimental explicit_tail_calls feature (by way of the become keyword).

For now, I have opted to mark TailCalls are Unsupported in mir-json, but we should revisit this if we need to support uses of become in the wild. Per the docs for TailCall, it is roughly the combination of Call and Return, so it may be possible to support it using that approach on the crucible-mir side. We might also be able to leverage crucible's TailCall feature to support it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions