rust/tests/ui/patterns.rs

48 lines
934 B
Rust
Raw Normal View History

//@aux-build:proc_macros.rs
2018-07-28 15:34:52 +00:00
#![warn(clippy::all)]
#![allow(unused)]
#![allow(clippy::uninlined_format_args)]
2023-06-23 03:01:17 +00:00
#[macro_use]
extern crate proc_macros;
fn main() {
let v = Some(true);
2019-09-02 19:49:14 +00:00
let s = [0, 1, 2, 3, 4];
match v {
Some(x) => (),
2018-12-09 22:26:16 +00:00
y @ _ => (),
}
match v {
2018-12-09 22:26:16 +00:00
Some(x) => (),
y @ None => (), // no error
}
2019-09-02 19:49:14 +00:00
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 @ _ => {
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-06-23 03:01:17 +00:00
external! {
let v = Some(true);
match v {
Some(x) => (),
y @ _ => (),
}
}
}