trait Foo { } impl Foo for T { } fn take_param(foo: &T) { } fn main() { let x: Box<_> = Box::new(3); take_param(&x); //~^ ERROR the trait bound `Box<{integer}>: Foo` is not satisfied }