Closed
Description
Given the following code: link
fn main() {
x = x = x;
}
The current output is:
Compiling playground v0.0.1 (/playground)
error[[E0425]](https://doc.rust-lang.org/nightly/error-index.html#E0425): cannot find value `x` in this scope
--> src/main.rs:2:5
|
2 | x = x = x;
| ^
|
help: you might have meant to introduce a new binding
|
2 | let x = x = x;
| +++
error[[E0425]](https://doc.rust-lang.org/nightly/error-index.html#E0425): cannot find value `x` in this scope
--> src/main.rs:2:9
|
2 | x = x = x;
| ^
|
help: you might have meant to introduce a new binding
|
2 | x = let x = x;
| +++
error[[E0425]](https://doc.rust-lang.org/nightly/error-index.html#E0425): cannot find value `x` in this scope
--> src/main.rs:2:13
|
2 | x = x = x;
| ^
|
help: you might have meant to introduce a new binding
|
2 | x = x = let x;
| +++
For more information about this error, try `rustc --explain E0425`.
error: could not compile `playground` due to 3 previous errors
Ideally the output should first check the RHS, before suggest adding let
. It should also avoid suggesting when code is invalid. Thanks.
Something like this should also not suggest adding let
: link
fn main() {
x = i32
}
Compiling playground v0.0.1 (/playground)
error[[E0425]](https://doc.rust-lang.org/nightly/error-index.html#E0425): cannot find value `x` in this scope
--> src/main.rs:2:5
|
2 | x = i32
| ^
|
help: you might have meant to introduce a new binding
|
2 | let x = i32
| +++
error[[E0423]](https://doc.rust-lang.org/nightly/error-index.html#E0423): expected value, found builtin type `i32`
--> src/main.rs:2:9
|
2 | x = i32
| ^^^ not a value
|
help: consider importing one of these items instead
|
1 | [use fastrand::i32;](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021#)
|
1 | [use nom::character::complete::i32;](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021#)
|
1 | [use nom::character::streaming::i32;](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021#)
|
1 | [use nom::number::complete::i32;](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021#)
|
and 1 other candidate
Some errors have detailed explanations: E0423, E0425.
For more information about an error, try `rustc --explain E0423`.
error: could not compile `playground` due to 2 previous errors
cc @chenyukang