| #![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; |
| } |
| } |