error[E0277]: the trait bound `str: Clone` is not satisfied
  --> $DIR/hr-associated-type-bound-param-4.rs:13:14
   |
LL |     type U = str;
   |              ^^^ the trait `Clone` is not implemented for `str`
   |
help: the trait `Clone` is implemented for `String`
  --> $SRC_DIR/alloc/src/string.rs:LL:COL
note: required by a bound in `X`
  --> $DIR/hr-associated-type-bound-param-4.rs:4:36
   |
LL | trait X<'a, T>
   |       - required by a bound in this trait
...
LL |     for<'b> <(T,) as X<'b, T>>::U: Clone,
   |                                    ^^^^^ required by this bound in `X`

error[E0277]: the trait bound `str: Clone` is not satisfied
  --> $DIR/hr-associated-type-bound-param-4.rs:18:18
   |
LL |     <(i32,) as X<i32>>::f("abc");
   |                  ^^^ the trait `Clone` is not implemented for `str`
   |
help: the trait `Clone` is implemented for `String`
  --> $SRC_DIR/alloc/src/string.rs:LL:COL
note: required by a bound in `X::f`
  --> $DIR/hr-associated-type-bound-param-4.rs:4:36
   |
LL |     for<'b> <(T,) as X<'b, T>>::U: Clone,
   |                                    ^^^^^ required by this bound in `X::f`
...
LL |     fn f(x: &<(T,) as X<'_, T>>::U) {
   |        - required by a bound in this associated function

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
