macro_rules! foo { ($a:ident, $b:ident, $c:ident) => { struct $a; struct $b; }; ($a:ident) => { struct $a; }; } foo! { A }