Bug
compiler/rustc_public/src/unstable/convert/stable/ty.rs lowers ty::Closure and ty::Coroutine to RigidTy, but ty::CoroutineClosure hits:
ty::CoroutineClosure(..) => todo!("FIXME(async_closures): Lower these to SMIR"),
RigidTy::CoroutineClosure, CoroutineClosureDef, and tables.coroutine_closure_def already exist (MIR aggregate lowering and internal conversion already handle this variant).
Origin
Introduced when async closures landed as TyKind::CoroutineClosure:
rust-lang@c567edd
SMIR todo stub added in:
rust-lang@881b6b5
Impact
Any rustc_public/SMIR consumer that encounters an async closure type ICE via todo!.
Fix
Mirror the Closure/Coroutine arms using tables.coroutine_closure_def and RigidTy::CoroutineClosure.
Bug
compiler/rustc_public/src/unstable/convert/stable/ty.rslowersty::Closureandty::CoroutinetoRigidTy, butty::CoroutineClosurehits:RigidTy::CoroutineClosure,CoroutineClosureDef, andtables.coroutine_closure_defalready exist (MIR aggregate lowering and internal conversion already handle this variant).Origin
Introduced when async closures landed as
TyKind::CoroutineClosure:rust-lang@c567edd
SMIR todo stub added in:
rust-lang@881b6b5
Impact
Any rustc_public/SMIR consumer that encounters an async closure type ICE via
todo!.Fix
Mirror the Closure/Coroutine arms using
tables.coroutine_closure_defandRigidTy::CoroutineClosure.