2018-08-30 12:18:55 +00:00
|
|
|
//@ run-pass
|
2018-09-25 21:51:35 +00:00
|
|
|
#![allow(unused_mut)]
|
|
|
|
#![allow(unused_variables)]
|
2015-03-22 20:13:15 +00:00
|
|
|
//@ pretty-expanded FIXME #23616
|
|
|
|
|
2015-02-10 21:52:00 +00:00
|
|
|
#![feature(box_patterns)]
|
2015-01-19 16:58:01 +00:00
|
|
|
|
|
|
|
enum E {
|
|
|
|
StructVar { boxed: Box<i32> }
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
|
|
|
// Test matching each shorthand notation for field patterns.
|
2022-07-07 02:36:10 +00:00
|
|
|
let mut a = E::StructVar { boxed: Box::new(3) };
|
2015-01-19 16:58:01 +00:00
|
|
|
match a {
|
|
|
|
E::StructVar { box boxed } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { box ref boxed } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { box mut boxed } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { box ref mut boxed } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { ref boxed } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { ref mut boxed } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { mut boxed } => { }
|
|
|
|
}
|
|
|
|
|
|
|
|
// Test matching non shorthand notation. Recreate a since last test
|
|
|
|
// moved `boxed`
|
2022-07-07 02:36:10 +00:00
|
|
|
let mut a = E::StructVar { boxed: Box::new(3) };
|
2015-01-19 16:58:01 +00:00
|
|
|
match a {
|
|
|
|
E::StructVar { boxed: box ref mut num } => { }
|
|
|
|
}
|
|
|
|
match a {
|
|
|
|
E::StructVar { boxed: ref mut num } => { }
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|