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()16 fn main() {
17     1i32.f("abc");
18 }
19