1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
error[E0277]: the trait bound `T: Trait` is not satisfied
--> $DIR/underconstrained_generic.rs:22:5
|
LL | ()
| ^^ the trait `Trait` is not implemented for `T`
|
note: required for `()` to implement `ProofForConversion<T>`
--> $DIR/underconstrained_generic.rs:13:16
|
LL | impl<X: Trait> ProofForConversion<X> for () {
| ----- ^^^^^^^^^^^^^^^^^^^^^ ^^
| |
| unsatisfied trait bound introduced here
note: required by a bound in an opaque type
--> $DIR/underconstrained_generic.rs:19:26
|
LL | type Converter<T> = impl ProofForConversion<T>;
| ^^^^^^^^^^^^^^^^^^^^^
note: this definition site has more where clauses than the opaque type
--> $DIR/underconstrained_generic.rs:21:1
|
LL | fn _defining_use<T: Trait>() -> Converter<T> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider restricting type parameter `T` with trait `Trait`
|
LL | type Converter<T: Trait> = impl ProofForConversion<T>;
| +++++++
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
|