rust/tests/ui/consts/const-match-check.rs
2023-01-11 09:32:08 +00:00

34 lines
747 B
Rust

// revisions: matchck eval1 eval2
#[cfg(matchck)]
const X: i32 = { let 0 = 0; 0 };
//[matchck]~^ ERROR refutable pattern in local binding
#[cfg(matchck)]
static Y: i32 = { let 0 = 0; 0 };
//[matchck]~^ ERROR refutable pattern in local binding
#[cfg(matchck)]
trait Bar {
const X: i32 = { let 0 = 0; 0 };
//[matchck]~^ ERROR refutable pattern in local binding
}
#[cfg(matchck)]
impl Bar for () {
const X: i32 = { let 0 = 0; 0 };
//[matchck]~^ ERROR refutable pattern in local binding
}
#[cfg(eval1)]
enum Foo {
A = { let 0 = 0; 0 },
//[eval1]~^ ERROR refutable pattern in local binding
}
fn main() {
#[cfg(eval2)]
let x: [i32; { let 0 = 0; 0 }] = [];
//[eval2]~^ ERROR refutable pattern in local binding
}