| //! Tests that we cannot produce a coroutine that accepts a resume argument | |
| //! with any lifetime and then stores it across a `yield`. | |
| #![feature(coroutines, coroutine_trait, stmt_expr_attributes)] | |
| use std::ops::Coroutine; | |
| fn test(a: impl for<'a> Coroutine<&'a mut bool>) {} | |
| fn main() { | |
| let gen = #[coroutine] |arg: &mut bool| { | |
| yield (); | |
| *arg = true; | |
| }; | |
| test(gen); | |
| //~^ ERROR implementation of `Coroutine` is not general enough | |
| } |