rust/tests/ui/match/issue-56685.rs
2023-01-11 09:32:08 +00:00

45 lines
895 B
Rust

#![allow(dead_code)]
#![deny(unused_variables)]
// This test aims to check that unused variable suggestions update bindings in all
// match arms.
fn main() {
enum E {
A(i32,),
B(i32,),
}
match E::A(1) {
E::A(x) | E::B(x) => {}
//~^ ERROR unused variable: `x`
}
enum F {
A(i32, i32,),
B(i32, i32,),
C(i32, i32,),
}
let _ = match F::A(1, 2) {
F::A(x, y) | F::B(x, y) => { y },
//~^ ERROR unused variable: `x`
F::C(a, b) => { 3 }
//~^ ERROR unused variable: `a`
//~^^ ERROR unused variable: `b`
};
let _ = if let F::A(x, y) | F::B(x, y) = F::A(1, 2) {
//~^ ERROR unused variable: `x`
y
} else {
3
};
while let F::A(x, y) | F::B(x, y) = F::A(1, 2) {
//~^ ERROR unused variable: `x`
let _ = y;
break;
}
}