| //@aux-build:proc_macros.rs | |
| #![allow(clippy::uninlined_format_args, clippy::single_match)] | |
| #[macro_use] | |
| extern crate proc_macros; | |
| fn main() { | |
| let v = Some(true); | |
| let s = [0, 1, 2, 3, 4]; | |
| match v { | |
| Some(x) => (), | |
| y => (), | |
| //~^ redundant_pattern | |
| } | |
| match v { | |
| Some(x) => (), | |
| y @ None => (), // no error | |
| } | |
| match s { | |
| [x, inside @ .., y] => (), // no error | |
| [..] => (), | |
| } | |
| let mut mutv = vec![1, 2, 3]; | |
| // required "ref" left out in suggestion: #5271 | |
| match mutv { | |
| ref mut x => { | |
| //~^ redundant_pattern | |
| x.push(4); | |
| println!("vec: {:?}", x); | |
| }, | |
| ref y if y == &vec![0] => (), | |
| } | |
| match mutv { | |
| ref x => println!("vec: {:?}", x), | |
| //~^ redundant_pattern | |
| ref y if y == &vec![0] => (), | |
| } | |
| external! { | |
| let v = Some(true); | |
| match v { | |
| Some(x) => (), | |
| y @ _ => (), | |
| } | |
| } | |
| } |