trait X<'a> where for<'b> >::U: Clone, { type U: ?Sized; } fn f<'a, T: X<'a> + ?Sized>(x: &>::U) { //~^ ERROR the trait bound `for<'b> >::U: Clone` is not satisfied <>::U>::clone(x); } pub fn main() { f::>("abc"); }