| error: concrete type differs from previous defining opaque type use |
| --> $DIR/generic_duplicate_param_use6.rs:15:1 |
| | |
| LL | fn three<T: Copy + Debug, U: Debug>(t: T, u: U) -> Two<T, U> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, T)`, got `(U, T)` |
| | |
| note: previous use here |
| --> $DIR/generic_duplicate_param_use6.rs:11:1 |
| | |
| LL | fn two<T: Copy + Debug, U: Debug>(t: T, u: U) -> Two<T, U> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0277]: `T` doesn't implement `Debug` |
| --> $DIR/generic_duplicate_param_use6.rs:8:18 |
| | |
| LL | type Two<T, U> = impl Debug; |
| | ^^^^^^^^^^ `T` cannot be formatted using `{:?}` because it doesn't implement `Debug` |
| | |
| = note: required because of the requirements on the impl of `Debug` for `(T, T)` |
| help: consider restricting type parameter `T` |
| | |
| LL | type Two<T: Debug, U> = impl Debug; |
| | ^^^^^^^ |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |