2023-08-24 19:32:12 +00:00
|
|
|
//@aux-build:proc_macros.rs
|
2018-07-28 15:34:52 +00:00
|
|
|
#![warn(clippy::all)]
|
2022-10-06 07:44:38 +00:00
|
|
|
#![allow(unused)]
|
2024-08-08 17:13:50 +00:00
|
|
|
#![allow(clippy::uninlined_format_args, clippy::single_match)]
|
2015-08-30 17:02:30 +00:00
|
|
|
|
2023-07-02 12:35:19 +00:00
|
|
|
#[macro_use]
|
|
|
|
extern crate proc_macros;
|
|
|
|
|
2015-08-30 17:02:30 +00:00
|
|
|
fn main() {
|
|
|
|
let v = Some(true);
|
2019-09-02 19:49:14 +00:00
|
|
|
let s = [0, 1, 2, 3, 4];
|
2015-08-30 17:02:30 +00:00
|
|
|
match v {
|
|
|
|
Some(x) => (),
|
2018-12-09 22:26:16 +00:00
|
|
|
y @ _ => (),
|
2015-08-30 17:02:30 +00:00
|
|
|
}
|
|
|
|
match v {
|
2018-12-09 22:26:16 +00:00
|
|
|
Some(x) => (),
|
|
|
|
y @ None => (), // no error
|
2015-08-30 17:02:30 +00:00
|
|
|
}
|
2019-09-02 19:49:14 +00:00
|
|
|
match s {
|
|
|
|
[x, inside @ .., y] => (), // no error
|
|
|
|
[..] => (),
|
|
|
|
}
|
2020-03-08 09:00:23 +00:00
|
|
|
|
|
|
|
let mut mutv = vec![1, 2, 3];
|
|
|
|
|
|
|
|
// required "ref" left out in suggestion: #5271
|
|
|
|
match mutv {
|
|
|
|
ref mut x @ _ => {
|
|
|
|
x.push(4);
|
|
|
|
println!("vec: {:?}", x);
|
|
|
|
},
|
|
|
|
ref y if y == &vec![0] => (),
|
|
|
|
}
|
|
|
|
|
|
|
|
match mutv {
|
|
|
|
ref x @ _ => println!("vec: {:?}", x),
|
|
|
|
ref y if y == &vec![0] => (),
|
|
|
|
}
|
2023-07-02 12:35:19 +00:00
|
|
|
external! {
|
|
|
|
let v = Some(true);
|
|
|
|
match v {
|
|
|
|
Some(x) => (),
|
|
|
|
y @ _ => (),
|
|
|
|
}
|
|
|
|
}
|
2015-08-30 17:02:30 +00:00
|
|
|
}
|