diff options
| author | bors <bors@rust-lang.org> | 2022-11-10 05:19:10 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-11-10 05:19:10 +0000 |
| commit | 11fa0850f03ae49fe1053a21bcdcf8a301668ad8 (patch) | |
| tree | 7c0c1595b0dd04a42ec19570a95727bd8d098c7f /src/test/ui/inference | |
| parent | 5eef9b2c50ddd4e445c10043908f785b08456489 (diff) | |
| parent | 91b4e7c4fd9b5f9ea8878c4ac53c3bde80bedf25 (diff) | |
| download | rust-11fa0850f03ae49fe1053a21bcdcf8a301668ad8.tar.gz rust-11fa0850f03ae49fe1053a21bcdcf8a301668ad8.zip | |
Auto merge of #103636 - chenyukang:yukang/fix-103587-sugg-if-let, r=jackh276,davidtwco
Recover from common if let syntax mistakes/typos Fixes #103587
Diffstat (limited to 'src/test/ui/inference')
| -rw-r--r-- | src/test/ui/inference/issue-103587.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/inference/issue-103587.stderr | 40 |
2 files changed, 52 insertions, 0 deletions
diff --git a/src/test/ui/inference/issue-103587.rs b/src/test/ui/inference/issue-103587.rs new file mode 100644 index 00000000000..11536f9f4cc --- /dev/null +++ b/src/test/ui/inference/issue-103587.rs @@ -0,0 +1,12 @@ +fn main() { + let x = Some(123); + + if let Some(_) == x {} + //~^ ERROR expected `=`, found `==` + + if Some(_) = x {} + //~^ ERROR mismatched types + + if None = x { } + //~^ ERROR mismatched types +} diff --git a/src/test/ui/inference/issue-103587.stderr b/src/test/ui/inference/issue-103587.stderr new file mode 100644 index 00000000000..b373fbfbb94 --- /dev/null +++ b/src/test/ui/inference/issue-103587.stderr @@ -0,0 +1,40 @@ +error: expected `=`, found `==` + --> $DIR/issue-103587.rs:4:20 + | +LL | if let Some(_) == x {} + | ^^ + | +help: consider using `=` here + | +LL | if let Some(_) = x {} + | ~ + +error[E0308]: mismatched types + --> $DIR/issue-103587.rs:7:8 + | +LL | if Some(_) = x {} + | ^^^^^^^^^^^ expected `bool`, found `()` + | +help: consider adding `let` + | +LL | if let Some(_) = x {} + | +++ + +error[E0308]: mismatched types + --> $DIR/issue-103587.rs:10:8 + | +LL | if None = x { } + | ^^^^^^^^ expected `bool`, found `()` + | +help: you might have meant to use pattern matching + | +LL | if let None = x { } + | +++ +help: you might have meant to compare for equality + | +LL | if None == x { } + | + + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0308`. |
