b7fc1a7431
When a trait is not implemented for a type, but there *is* an `impl` for another type or different trait params, we format the output to use highlighting in the same way that E0308 does for types. The logic accounts for 3 cases: - When both the type and trait in the expected predicate and the candidate are different - When only the types are different - When only the trait generic params are different For each case, we use slightly different formatting and wording.
21 lines
661 B
Plaintext
21 lines
661 B
Plaintext
error[E0277]: the trait bound `A<_>: Bar<_>` is not satisfied
|
|
--> $DIR/unused-substs-1.rs:12:13
|
|
|
|
|
LL | let _ = A;
|
|
| ^ the trait `Bar<_>` is not implemented for `A<_>`
|
|
|
|
|
= help: the trait `Bar<_>` is not implemented for `A<_>`
|
|
but it is implemented for `A<{ 6 + 1 }>`
|
|
note: required by a bound in `A`
|
|
--> $DIR/unused-substs-1.rs:9:11
|
|
|
|
|
LL | struct A<const N: usize>
|
|
| - required by a bound in this unit struct
|
|
LL | where
|
|
LL | A<N>: Bar<N>;
|
|
| ^^^^^^ required by this bound in `A`
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|