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
662 B
Rust
Raw Normal View History

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