1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// run-pass #![allow(dead_code)] macro_rules! foo { (#[$attr:meta] $x:ident) => { #[$attr] struct $x { x: u32 } } } foo! { #[derive(PartialEq, Eq)] Foo } const FOO: Foo = Foo { x: 0 }; fn main() { let y = Foo { x: 1 }; match y { FOO => { } _ => { } } }