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 `?`.
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
error[E0277]: the trait bound `i32: Tr` is not satisfied
|
|
--> $DIR/issue-84973-negative.rs:10:9
|
|
|
|
|
LL | bar(a);
|
|
| --- ^ the trait `Tr` is not implemented for `i32`
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: the trait `Tr` is implemented for `&f32`
|
|
note: required by a bound in `bar`
|
|
--> $DIR/issue-84973-negative.rs:5:11
|
|
|
|
|
LL | fn bar<T: Tr>(t: T) {}
|
|
| ^^ required by this bound in `bar`
|
|
|
|
error[E0277]: the trait bound `f32: Tr` is not satisfied
|
|
--> $DIR/issue-84973-negative.rs:11:9
|
|
|
|
|
LL | bar(b);
|
|
| --- ^ expected an implementor of trait `Tr`
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
note: required by a bound in `bar`
|
|
--> $DIR/issue-84973-negative.rs:5:11
|
|
|
|
|
LL | fn bar<T: Tr>(t: T) {}
|
|
| ^^ required by this bound in `bar`
|
|
help: consider borrowing here
|
|
|
|
|
LL | bar(&b);
|
|
| +
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|