diff options
| author | David Tolnay <dtolnay@gmail.com> | 2024-05-12 13:02:54 -0700 |
|---|---|---|
| committer | David Tolnay <dtolnay@gmail.com> | 2024-05-12 13:07:11 -0700 |
| commit | 75a34ca26294cb79bd8b126c0fc18f4c207faaf0 (patch) | |
| tree | 2df9ad835fa7b90084e67451ee8ac2b7f59b9cf4 | |
| parent | f4931437c249ed5275ae20eb4ac58e3e4484fa98 (diff) | |
| download | rust-75a34ca26294cb79bd8b126c0fc18f4c207faaf0.tar.gz rust-75a34ca26294cb79bd8b126c0fc18f4c207faaf0.zip | |
Add test of trailing brace in a cast expression
| -rw-r--r-- | tests/ui/parser/bad-let-else-statement.rs | 14 | ||||
| -rw-r--r-- | tests/ui/parser/bad-let-else-statement.stderr | 14 |
2 files changed, 27 insertions, 1 deletions
diff --git a/tests/ui/parser/bad-let-else-statement.rs b/tests/ui/parser/bad-let-else-statement.rs index 8ed55f94959..2dce9ed24d2 100644 --- a/tests/ui/parser/bad-let-else-statement.rs +++ b/tests/ui/parser/bad-let-else-statement.rs @@ -196,4 +196,18 @@ fn s() { b!(2); } +fn t() { + macro_rules! primitive { + (8) => { u8 }; + } + + let foo = &std::ptr::null as &'static dyn std::ops::Fn() -> *const primitive! { + //~^ WARN irrefutable `let...else` pattern + 8 + } else { + // FIXME: right curly brace `}` before `else` in a `let...else` statement not allowed + return; + }; +} + fn main() {} diff --git a/tests/ui/parser/bad-let-else-statement.stderr b/tests/ui/parser/bad-let-else-statement.stderr index 60b4600ff35..76097aaca83 100644 --- a/tests/ui/parser/bad-let-else-statement.stderr +++ b/tests/ui/parser/bad-let-else-statement.stderr @@ -299,5 +299,17 @@ LL | let bad = format_args! {""} else { return; }; = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause -error: aborting due to 19 previous errors; 4 warnings emitted +warning: irrefutable `let...else` pattern + --> $DIR/bad-let-else-statement.rs:204:5 + | +LL | / let foo = &std::ptr::null as &'static dyn std::ops::Fn() -> *const primitive! { +LL | | +LL | | 8 +LL | | } else { + | |_____^ + | + = note: this pattern will always match, so the `else` clause is useless + = help: consider removing the `else` clause + +error: aborting due to 19 previous errors; 5 warnings emitted |
