| warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes |
| --> $DIR/generic_duplicate_param_use6.rs:3:32 |
| | |
| LL | #![cfg_attr(full_tait, feature(type_alias_impl_trait))] |
| | ^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: `#[warn(incomplete_features)]` on by default |
| = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information |
| |
| error: concrete type differs from previous defining opaque type use |
| --> $DIR/generic_duplicate_param_use6.rs:18: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:14: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:11: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: std::fmt::Debug, U> = impl Debug; |
| | ^^^^^^^^^^^^^^^^^ |
| |
| error: aborting due to 2 previous errors; 1 warning emitted |
| |
| For more information about this error, try `rustc --explain E0277`. |