//@ check-pass | |
//@ edition: 2021 | |
// regression test found while working on #117134. | |
use std::future; | |
fn main() { | |
let mut recv = future::ready(()); | |
let _combined_fut = async { | |
let _ = || read(&mut recv); | |
}; | |
let _uwu = (String::new(), _combined_fut); | |
// Dropping a coroutine as part of a more complex | |
// types should not add unnecessary liveness | |
// constraints. | |
drop(recv); | |
} | |
fn read<F: future::Future>(_: &mut F) -> F::Output { | |
todo!() | |
} |