//@ run-pass | |
//@ revisions: current next | |
//@ ignore-compare-mode-next-solver (explicit revisions) | |
//@[next] compile-flags: -Znext-solver | |
trait Foo: Fn(i32) -> i32 + Send {} | |
impl<T: ?Sized + Fn(i32) -> i32 + Send> Foo for T {} | |
fn wants_foo(f: Box<dyn Foo>) -> i32 { | |
f(42) | |
} | |
fn main() { | |
let f = Box::new(|x| x); | |
assert_eq!(wants_foo(f), 42); | |
} |