rust/tests/ui/coroutine/coroutine-region-requirements.rs
Oli Scherer aef0f4024a Error on using yield without also using #[coroutine] on the closure
And suggest adding the `#[coroutine]` to the closure
2024-04-24 08:05:29 +00:00

20 lines
480 B
Rust

#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
use std::ops::{Coroutine, CoroutineState};
use std::pin::Pin;
fn dangle(x: &mut i32) -> &'static mut i32 {
let mut g = #[coroutine] || {
yield;
x
};
loop {
match Pin::new(&mut g).resume(()) {
CoroutineState::Complete(c) => return c,
//~^ ERROR lifetime may not live long enough
CoroutineState::Yielded(_) => (),
}
}
}
fn main() {}