1 // Test that Copy bounds inherited by trait are checked.
3 // revisions: curr object_safe_for_dispatch
5 #![cfg_attr(object_safe_for_dispatch, feature(object_safe_for_dispatch))]
14 impl<T:Copy> Foo for T {
17 fn take_param<T:Foo>(foo: &T) { }
20 let x: Box<_> = Box::new(3);
21 take_param(&x); //[curr]~ ERROR E0277
22 //[object_safe_for_dispatch]~^ ERROR E0277
26 let x: Box<_> = Box::new(3);
28 let z = &x as &dyn Foo;
29 //[curr]~^ ERROR E0038
30 //[curr]~| ERROR E0038
31 //[object_safe_for_dispatch]~^^^ ERROR E0038