// run-pass // revisions: classic next //[next] compile-flags: -Ztrait-solver=next trait Foo: Fn(i32) -> i32 + Send {} impl i32 + Send> Foo for T {} fn wants_foo(f: Box) -> i32 { f(42) } fn main() { let f = Box::new(|x| x); assert_eq!(wants_foo(f), 42); }