-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
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 TailCall
s 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.