1 trait X<'a> 2 where 3 for<'b> <Self as X<'b>>::U: Clone, 4 { 5 type U: ?Sized; f(&self, x: &Self::U)6 fn f(&self, x: &Self::U) { 7 <Self::U>::clone(x); 8 } 9 } 10 11 impl X<'_> for i32 { 12 type U = str; 13 //~^ ERROR the trait bound `str: Clone` 14 } 15 main()16fn main() { 17 1i32.f("abc"); 18 } 19