Reject closures in patterns

This commit is contained in:
Tomasz Miąsko 2021-10-18 00:00:00 +00:00
parent 1af55d19c7
commit c97cf7fed7
5 changed files with 44 additions and 1 deletions

View file

@ -0,0 +1,8 @@
// Regression test for issue 90013.
// check-pass
#![allow(incomplete_features)]
#![feature(inline_const)]
fn main() {
const { || {} };
}

View file

@ -0,0 +1,14 @@
// edition:2021
#![allow(incomplete_features)]
#![allow(unreachable_code)]
#![feature(const_async_blocks)]
#![feature(inline_const)]
fn main() {
match loop {} {
const { || {} } => {}, //~ ERROR cannot be used in patterns
}
match loop {} {
const { async {} } => {}, //~ ERROR cannot be used in patterns
}
}

View file

@ -0,0 +1,14 @@
error: `[closure@$DIR/non-structural-match-types.rs:9:17: 9:22]` cannot be used in patterns
--> $DIR/non-structural-match-types.rs:9:9
|
LL | const { || {} } => {},
| ^^^^^^^^^^^^^^^
error: `impl Future` cannot be used in patterns
--> $DIR/non-structural-match-types.rs:12:9
|
LL | const { async {} } => {},
| ^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors