// skip-filecheck //! Tests that coroutines that cannot return or unwind don't have unnecessary //! panic branches. //@ compile-flags: -C panic=abort //@ no-prefer-dynamic #![feature(coroutines, coroutine_trait, stmt_expr_attributes)] struct HasDrop; impl Drop for HasDrop { fn drop(&mut self) {} } fn callee() {} // EMIT_MIR coroutine_tiny.main-{closure#0}.coroutine_resume.0.mir fn main() { let _gen = #[coroutine] |_x: u8| { let _d = HasDrop; loop { yield; callee(); } }; }