rust/tests/ui/coroutine/too-live-local-in-immovable...

22 lines
676 B
Rust

//@ run-pass
#![allow(unused_unsafe)]
#![feature(coroutines)]
fn main() {
unsafe {
#[coroutine] static move || { //~ WARN unused coroutine that must be used
// Tests that the coroutine transformation finds out that `a` is not live
// during the yield expression. Type checking will also compute liveness
// and it should also find out that `a` is not live.
// The compiler will panic if the coroutine transformation finds that
// `a` is live and type checking finds it dead.
let a = {
yield ();
4i32
};
let _ = &a;
};
}
}