// ignore-tidy-linelength //@ edition:2021 //@ revisions: current next //@ ignore-compare-mode-next-solver (explicit revisions) //@[next] compile-flags: -Znext-solver //@ check-pass #![feature(unboxed_closures)] use std::future::Future; trait Trait { fn func(&self, _: &str); } impl Trait for T where for<'a> T: Fn<(&'a str,)> + Send + Sync, for<'a> >::Output: Future + Send, { fn func(&self, _: &str) { println!("hello!"); } } async fn strlen(x: &str) -> usize { x.len() } fn main() { strlen.func("hi"); }