diff options
| author | Michael Goulet <michael@errs.io> | 2024-04-02 18:31:42 -0400 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-04-02 18:31:42 -0400 |
| commit | 9d116e8e188a84d97e1b64f54410fda7ec6f2dc6 (patch) | |
| tree | 662f2bae190b9ca28683f9b541b6506149051446 /tests | |
| parent | 36b6f9b58e78a1225a322a759e42c262e6dc8d5d (diff) | |
| download | rust-9d116e8e188a84d97e1b64f54410fda7ec6f2dc6.tar.gz rust-9d116e8e188a84d97e1b64f54410fda7ec6f2dc6.zip | |
Don't ICE for postfix match after as
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/match/postfix-match/match-after-as.rs | 7 | ||||
| -rw-r--r-- | tests/ui/match/postfix-match/match-after-as.stderr | 28 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/match/postfix-match/match-after-as.rs b/tests/ui/match/postfix-match/match-after-as.rs new file mode 100644 index 00000000000..7c648bfcf03 --- /dev/null +++ b/tests/ui/match/postfix-match/match-after-as.rs @@ -0,0 +1,7 @@ +#![feature(postfix_match)] + +fn main() { + 1 as i32.match {}; + //~^ ERROR cast cannot be followed by a postfix match + //~| ERROR non-exhaustive patterns +} diff --git a/tests/ui/match/postfix-match/match-after-as.stderr b/tests/ui/match/postfix-match/match-after-as.stderr new file mode 100644 index 00000000000..99e42991c52 --- /dev/null +++ b/tests/ui/match/postfix-match/match-after-as.stderr @@ -0,0 +1,28 @@ +error: cast cannot be followed by a postfix match + --> $DIR/match-after-as.rs:4:5 + | +LL | 1 as i32.match {}; + | ^^^^^^^^ + | +help: try surrounding the expression in parentheses + | +LL | (1 as i32).match {}; + | + + + +error[E0004]: non-exhaustive patterns: type `i32` is non-empty + --> $DIR/match-after-as.rs:4:5 + | +LL | 1 as i32.match {}; + | ^^^^^^^^ + | + = note: the matched value is of type `i32` +help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown + | +LL ~ 1 as i32 { +LL + _ => todo!(), +LL ~ }; + | + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0004`. |
