1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// run-pass #![allow(dead_code)] #[macro_export] macro_rules! state { ( $( $name:ident : $field:ty )* ) => ( #[derive(Default)] struct State { $($name : $field),* } ) } state! { x: i64 } pub fn main() { }