Skip to content

mir: handle CoroutineClosure and Error in simplify_nounwind_call#560

Open
SebTardif wants to merge 1 commit into
mainfrom
fix-instsimplify-cc-2026
Open

mir: handle CoroutineClosure and Error in simplify_nounwind_call#560
SebTardif wants to merge 1 commit into
mainfrom
fix-instsimplify-cc-2026

Conversation

@SebTardif

Copy link
Copy Markdown
Owner

Summary

  • Add ty::CoroutineClosure(..) => ExternAbi::RustCall and ty::Error(_) => return to simplify_nounwind_call, matching abort_unwinding_calls, ffi_unwind_calls, and validate.

Closes #477

Origin

Test plan

  • Structural match with sibling MIR passes
  • ./x.py test compiler/rustc_mir_transform (optional)

Match sibling passes (abort_unwinding_calls, ffi_unwind_calls, validate)
by treating async-closure bodies as RustCall and ignoring error types.

Origin: rust-lang@843b6e08592a added Closure/Coroutine arms
Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

simplify_nounwind_call missing CoroutineClosure arm causes ICE on async closures

1 participant