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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

22 lines
663 B
Rust
Raw Normal View History

//@ run-pass
#![allow(unused_unsafe)]
2023-10-19 21:46:28 +00:00
#![feature(coroutines)]
fn main() {
unsafe {
2023-10-19 21:46:28 +00:00
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.
2023-10-19 21:46:28 +00:00
// 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;
};
}
}