mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
bde2dfb127
When a `Local` is fully parsed, but not followed by a `;`, keep the `:` span arround and mention it. If the type could continue being parsed as an expression, suggest replacing the `:` with a `=`. ``` error: expected one of `!`, `+`, `->`, `::`, `;`, or `=`, found `.` --> file.rs:2:32 | 2 | let _: std::env::temp_dir().join("foo"); | - ^ expected one of `!`, `+`, `->`, `::`, `;`, or `=` | | | while parsing the type for `_` | help: use `=` if you meant to assign ``` Fix #119665.
38 lines
1.8 KiB
Text
38 lines
1.8 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, _, _)>`
|
|
= help: the trait `FromIterator<(u32, _, _)>` is implemented for `Vec<(u32, _, _)>`
|
|
= 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`.
|