//@ build-pass (FIXME(62277): could be check-pass?) //@ edition:2018 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!(); get_future(messages).await; } fn main() {}