// Test that we don't consider temporaries for statement expressions as live | |
// across yields | |
// check-pass | |
// edition:2018 | |
#![feature(generators, generator_trait)] | |
use std::ops::Generator; | |
async fn drop_and_await() { | |
async {}; | |
async {}.await; | |
} | |
fn drop_and_yield() { | |
let x = || { | |
String::new(); | |
yield; | |
}; | |
Box::pin(x).as_mut().resume(); | |
let y = static || { | |
String::new(); | |
yield; | |
}; | |
Box::pin(y).as_mut().resume(); | |
} | |
fn main() { | |
drop_and_await(); | |
drop_and_yield(); | |
} |