//@ run-pass //@ revisions: classic next //@[next] compile-flags: -Znext-solver 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); }