3aac307ca6
When encountering an unsatisfied trait bound, if there are no other suggestions, mention all the types that *do* implement that trait: ``` error[E0277]: the trait bound `f32: Foo` is not satisfied --> $DIR/impl_wf.rs:22:6 | LL | impl Baz<f32> for f32 { } | ^^^^^^^^ the trait `Foo` is not implemented for `f32` | = help: the following other types implement trait `Foo`: Option<T> i32 str note: required by a bound in `Baz` --> $DIR/impl_wf.rs:18:31 | LL | trait Baz<U: ?Sized> where U: Foo { } | ^^^ required by this bound in `Baz` ``` Mention implementers of traits in `ImplObligation`s. Do not mention other `impl`s for closures, ranges and `?`.
25 lines
788 B
Plaintext
25 lines
788 B
Plaintext
error[E0308]: mismatched types
|
|
--> $DIR/const-eval-overflow-3b.rs:16:22
|
|
|
|
|
LL | = [0; (i8::MAX + 1u8) as usize];
|
|
| ^^^ expected `i8`, found `u8`
|
|
|
|
error[E0277]: cannot add `u8` to `i8`
|
|
--> $DIR/const-eval-overflow-3b.rs:16:20
|
|
|
|
|
LL | = [0; (i8::MAX + 1u8) as usize];
|
|
| ^ no implementation for `i8 + u8`
|
|
|
|
|
= help: the trait `Add<u8>` is not implemented for `i8`
|
|
= help: the following implementations were found:
|
|
<&'a i8 as Add<i8>>
|
|
<&i8 as Add<&i8>>
|
|
<i8 as Add<&i8>>
|
|
<i8 as Add>
|
|
and 48 others
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
Some errors have detailed explanations: E0277, E0308.
|
|
For more information about an error, try `rustc --explain E0277`.
|