| //@ build-pass (FIXME(62277): could be check-pass?) | |
| //@ edition:2018 | |
| trait MyClosure { | |
| type Args; | |
| } | |
| impl<R> MyClosure for dyn FnMut() -> R | |
| where R: 'static { | |
| type Args = (); | |
| } | |
| struct MyStream<C: ?Sized + MyClosure> { | |
| x: C::Args, | |
| } | |
| async fn get_future<C: ?Sized + MyClosure>(_stream: MyStream<C>) {} | |
| async fn f() { | |
| let messages: MyStream<dyn FnMut()> = unimplemented!(); | |
| get_future(messages).await; | |
| } | |
| fn main() {} |