```
error[E0277]: the trait bound `u32: Trait` is not satisfied
--> $DIR/trait_objects_fail.rs:26:9
|
LL | foo(&10_u32);
| ^^^^^^^ the trait `Trait` is not implemented for `u32`
|
help: the trait `Trait<12>` is not implemented for `u32`
but trait `Trait<2>` is implemented for it
--> $DIR/trait_objects_fail.rs:7:1
|
LL | impl Trait<2> for u32 {}
| ^^^^^^^^^^^^^^^^^^^^^
= note: required for the cast from `&u32` to `&dyn Trait`
```
Pointing at the `impl` definition that *could* apply given a different self type is particularly useful when it has a blanket self type, as it might not be obvious and is not trivially greppable:
```
error[E0277]: the trait bound `RawImpl<_>: Raw<_>` is not satisfied
--> $DIR/issue-62742.rs:4:5
|
LL | WrongImpl::foo(0i32);
| ^^^^^^^^^ unsatisfied trait bound
|
help: the trait `Raw<_>` is not implemented for `RawImpl<_>`
but trait `Raw<[_]>` is implemented for it
--> $DIR/issue-62742.rs:29:1
|
LL | impl<T> Raw<[T]> for RawImpl<T> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `SafeImpl`
--> $DIR/issue-62742.rs:33:35
|
LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
| ^^^^^^ required by this bound in `SafeImpl`
```
39 lines
1.9 KiB
Text
39 lines
1.9 KiB
Text
error: expected one of `,`, `:`, or `>`, found `=`
|
|
--> $DIR/issue-34334.rs:2:29
|
|
|
|
|
LL | let sr: Vec<(u32, _, _) = vec![];
|
|
| - ^ expected one of `,`, `:`, or `>`
|
|
| |
|
|
| while parsing the type for `sr`
|
|
|
|
|
help: you might have meant to end the type parameters here
|
|
|
|
|
LL | let sr: Vec<(u32, _, _)> = vec![];
|
|
| +
|
|
|
|
error[E0277]: a value of type `Vec<(u32, _, _)>` cannot be built from an iterator over elements of type `()`
|
|
--> $DIR/issue-34334.rs:5:87
|
|
|
|
|
LL | let sr2: Vec<(u32, _, _)> = sr.iter().map(|(faction, th_sender, th_receiver)| {}).collect();
|
|
| ^^^^^^^ value of type `Vec<(u32, _, _)>` cannot be built from `std::iter::Iterator<Item=()>`
|
|
|
|
|
help: the trait `FromIterator<()>` is not implemented for `Vec<(u32, _, _)>`
|
|
but trait `FromIterator<(u32, _, _)>` is implemented for it
|
|
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
|
= help: for that trait implementation, expected `(u32, _, _)`, found `()`
|
|
note: the method call chain might not have had the expected associated types
|
|
--> $DIR/issue-34334.rs:5:43
|
|
|
|
|
LL | let sr: Vec<(u32, _, _) = vec![];
|
|
| ------ this expression has type `Vec<(_, _, _)>`
|
|
...
|
|
LL | let sr2: Vec<(u32, _, _)> = sr.iter().map(|(faction, th_sender, th_receiver)| {}).collect();
|
|
| ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `()` here
|
|
| |
|
|
| `Iterator::Item` is `&(_, _, _)` here
|
|
note: required by a bound in `collect`
|
|
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|