mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-05 21:24:12 +00:00
45 lines
895 B
Rust
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;
|
||
|
}
|
||
|
}
|