//@ known-bug: #117808 //@ edition:2021 //@ needs-rustc-debug-assertions use std::future::Future; fn hrc AsyncClosure<'a, (), R>>(f: F) -> F { f } fn main() { hrc(|x| async {}); } trait AsyncClosure<'a, I, R> where I: 'a, { } impl<'a, I, R, Fut, F> AsyncClosure<'a, I, R> for F where I: 'a, F: Fn(&'a I) -> Fut, Fut: Future + Send + 'a, { }