-error: non-defining opaque type use in defining scope
- --> $DIR/not_a_defining_use.rs:10:27
- |
-LL | fn two<T: Debug>(t: T) -> Two<T, u32> {
- | ^^^^^^^^^^^
- |
-note: used non-generic type `u32` for generic parameter
- --> $DIR/not_a_defining_use.rs:7:13
- |
-LL | type Two<T, U> = impl Debug;
- | ^
-
error: concrete type differs from previous defining opaque type use
- --> $DIR/not_a_defining_use.rs:29:1
+ --> $DIR/not_a_defining_use.rs:25:5
|
-LL | fn four<T: Debug, U: Bar>(t: T) -> Two<T, U> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(T, i8)`, got `(T, <U as Bar>::Blub)`
+LL | (t, <U as Bar>::FOO)
+ | ^^^^^^^^^^^^^^^^^^^^ expected `(T, i8)`, got `(T, <U as Bar>::Blub)`
|
note: previous use here
- --> $DIR/not_a_defining_use.rs:15:1
+ --> $DIR/not_a_defining_use.rs:11:5
|
-LL | fn three<T: Debug, U>(t: T) -> Two<T, U> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | (t, 5i8)
+ | ^^^^^^^^
error[E0277]: `T` doesn't implement `Debug`
--> $DIR/not_a_defining_use.rs:7:18
LL | type Two<T: std::fmt::Debug, U> = impl Debug;
| +++++++++++++++++
-error: aborting due to 3 previous errors
+error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0277`.