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