// Regression test for #88972. Used to cause a query cycle:
//   optimized mir -> remove zsts -> layout of a coroutine -> optimized mir.
//
//@ edition:2018
//@ compile-flags: --crate-type=lib -Zinline-mir=yes
//@ build-pass

pub async fn listen() -> Result<(), std::io::Error> {
    let f = do_async();
    std::mem::forget(f);
    Ok(())
}

pub async fn do_async() {
    listen().await.unwrap()
}