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