1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// run-pass #![feature(decl_macro)] pub struct Foo { bar: u32, } pub macro pattern($a:pat) { Foo { bar: $a } } fn main() { match (Foo { bar: 3 }) { pattern!(3) => println!("Test OK"), _ => unreachable!(), } }