// compile-pass // edition:2018 #![feature(async_await, await_macro)] trait MyClosure { type Args; } impl MyClosure for dyn FnMut() -> R where R: 'static { type Args = (); } struct MyStream { x: C::Args, } async fn get_future(_stream: MyStream) {} async fn f() { let messages: MyStream = unimplemented!(); await!(get_future(messages)); } fn main() {}