diff options
| author | Alan Egerton <eggyal@gmail.com> | 2024-04-12 12:33:03 +0100 |
|---|---|---|
| committer | Alan Egerton <eggyal@gmail.com> | 2024-04-12 17:45:15 +0100 |
| commit | ddcfb94b84835edad5a223db3f226c7b302d264c (patch) | |
| tree | 251e5003bcd0b8b23adadcc8d6aa1012a84fb0b8 /tests/ui/let-else | |
| parent | ab71ee7a9214c2793108a41efb065aa77aeb7326 (diff) | |
Suppress erroneous suggestion
The suggestion to use `let else` with an uninitialized refutable `let` statement was erroneous: `let else` cannot be used with deferred initialization.
Diffstat (limited to 'tests/ui/let-else')
| -rw-r--r-- | tests/ui/let-else/uninitialized-refutable-let-issue-123844.rs | 8 | ||||
| -rw-r--r-- | tests/ui/let-else/uninitialized-refutable-let-issue-123844.stderr | 13 |
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/let-else/uninitialized-refutable-let-issue-123844.rs b/tests/ui/let-else/uninitialized-refutable-let-issue-123844.rs new file mode 100644 index 00000000000..8426b0021f4 --- /dev/null +++ b/tests/ui/let-else/uninitialized-refutable-let-issue-123844.rs @@ -0,0 +1,8 @@ +// https://github.com/rust-lang/rust/issues/123844 +// An uninitialized refutable let should not suggest `let else`, as it can't be used with deferred +// initialization. + +fn main() { + let Some(x); //~ ERROR refutable pattern in local binding + x = 1; +} diff --git a/tests/ui/let-else/uninitialized-refutable-let-issue-123844.stderr b/tests/ui/let-else/uninitialized-refutable-let-issue-123844.stderr new file mode 100644 index 00000000000..13312306c07 --- /dev/null +++ b/tests/ui/let-else/uninitialized-refutable-let-issue-123844.stderr @@ -0,0 +1,13 @@ +error[E0005]: refutable pattern in local binding + --> $DIR/uninitialized-refutable-let-issue-123844.rs:6:9 + | +LL | let Some(x); + | ^^^^^^^ pattern `None` not covered + | + = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant + = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html + = note: the matched value is of type `Option<i32>` + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0005`. |
