rust/src/test/ui/issues/issue-56685.rs
David Wood 5f021e0023
Unused variable suggestions on all patterns.
This commit extends existing suggestions to prefix unused variable
bindings in match arms with an underscore so that it applies to all
patterns in a match arm.
2019-01-28 10:46:31 +01: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;
}
}