diff options
| author | Edward Shen <code@eddie.sh> | 2023-01-23 20:31:45 -0800 |
|---|---|---|
| committer | Edward Shen <xes@meta.com> | 2023-01-23 20:33:04 -0800 |
| commit | a8b77cfe5464e29b25389593ced9d080bf0dd6c8 (patch) | |
| tree | 2fae43b147645668da9ce11c1c52f7652bec936d /tests/ui/let-else | |
| parent | c8e6a9e8b6251bbc8276cb78cabe1998deecbed7 (diff) | |
| download | rust-a8b77cfe5464e29b25389593ced9d080bf0dd6c8.tar.gz rust-a8b77cfe5464e29b25389593ced9d080bf0dd6c8.zip | |
Add suggestion to remove if in let...else block
Adds an additional hint to failures where we encounter an else keyword while we're parsing an if-let block. This is likely that the user has accidentally mixed if-let and let...else together.
Diffstat (limited to 'tests/ui/let-else')
| -rw-r--r-- | tests/ui/let-else/accidental-if.rs | 6 | ||||
| -rw-r--r-- | tests/ui/let-else/accidental-if.stderr | 19 |
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/let-else/accidental-if.rs b/tests/ui/let-else/accidental-if.rs new file mode 100644 index 00000000000..3fba630435c --- /dev/null +++ b/tests/ui/let-else/accidental-if.rs @@ -0,0 +1,6 @@ +fn main() { + let x = Some(123); + if let Some(y) = x else { //~ ERROR this `if` expression is missing a block + return; + }; +} diff --git a/tests/ui/let-else/accidental-if.stderr b/tests/ui/let-else/accidental-if.stderr new file mode 100644 index 00000000000..5474a67aac4 --- /dev/null +++ b/tests/ui/let-else/accidental-if.stderr @@ -0,0 +1,19 @@ +error: this `if` expression is missing a block after the condition + --> $DIR/accidental-if.rs:3:5 + | +LL | if let Some(y) = x else { + | ^^ + | +help: add a block here + --> $DIR/accidental-if.rs:3:23 + | +LL | if let Some(y) = x else { + | ^ +help: remove the `if` if you meant to write a `let...else` statement + --> $DIR/accidental-if.rs:3:5 + | +LL | if let Some(y) = x else { + | ^^ + +error: aborting due to previous error + |
