6b9d910639
Be more thorough in using `ItemObligation` and `BindingObligation` when evaluating obligations so that we can point at trait bounds that introduced unfulfilled obligations. We no longer incorrectly point at unrelated trait bounds (`substs-ppaux.verbose.stderr`). In particular, we now point at trait bounds on method calls. We no longer point at "obvious" obligation sources (we no longer have a note pointing at `Trait` saying "required by a bound in `Trait`", like in `associated-types-no-suitable-supertrait*`). Address part of #89418.
26 lines
1.2 KiB
Plaintext
26 lines
1.2 KiB
Plaintext
error: expected one of `,`, `:`, or `>`, found `=`
|
|
--> $DIR/issue-34334.rs:2:29
|
|
|
|
|
LL | let sr: Vec<(u32, _, _) = vec![];
|
|
| -- - ^ expected one of `,`, `:`, or `>`
|
|
| | |
|
|
| | maybe try to close unmatched angle bracket
|
|
| while parsing the type for `sr`
|
|
|
|
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, _, _)>`
|
|
note: required by a bound in `collect`
|
|
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
|
|
|
|
|
LL | fn collect<B: FromIterator<Self::Item>>(self) -> B
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `collect`
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|