error: non-defining opaque type use in defining scope
  --> $DIR/generic_duplicate_param_use4.rs:11:27
   |
LL | fn one<T: Debug>(t: T) -> Two<T, T> {
   |                           ^^^^^^^^^
   |
note: type used multiple times
  --> $DIR/generic_duplicate_param_use4.rs:8:10
   |
LL | type Two<T, U> = impl Debug;
   |          ^  ^

error[E0277]: `U` doesn't implement `Debug`
  --> $DIR/generic_duplicate_param_use4.rs:8:18
   |
LL | type Two<T, U> = impl Debug;
   |                  ^^^^^^^^^^ `U` cannot be formatted using `{:?}` because it doesn't implement `Debug`
   |
help: consider restricting type parameter `U`
   |
LL | type Two<T, U: std::fmt::Debug> = impl Debug;
   |              +++++++++++++++++

error: aborting due to 2 previous errors

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