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.
17 lines
656 B
Plaintext
17 lines
656 B
Plaintext
error[E0277]: the trait bound `*mut (): Trait<'_>` is not satisfied
|
|
--> $DIR/issue-101623.rs:21:21
|
|
|
|
|
LL | Trait::do_stuff({ fun(&mut *inner) });
|
|
| --------------- ^^----------------^^
|
|
| | |
|
|
| | the trait `Trait<'_>` is not implemented for `*mut ()`
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: the trait `Trait<'_>` is not implemented for `*mut ()`
|
|
but it is implemented for `()`
|
|
= help: for that trait implementation, expected `()`, found `*mut ()`
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|