macro_rules! test_puts { ( $func:ident) => { ... }; ( $func:ident, puts = $puts:tt ) => { ... }; ( $func:ident, puts = $puts:tt, attrs = $attrs:tt ) => { ... }; ( $func:ident, puts = $puts:tt, filter = $filter:meta ) => { ... }; ( $func:ident, attrs = $attrs:tt ) => { ... }; ( $func:ident, filter = $filter:meta ) => { ... }; ( $func:ident, attrs = $attrs:tt, filter = $filter:meta ) => { ... }; ( $func:ident, attrs = $attrs:tt, puts = $puts:tt, filter = $filter:meta ) => { ... }; ( $func:ident, attrs = $attrs:tt, filter = $filter:meta, puts = $puts:tt ) => { ... }; ( $func:ident, filter = $filter:meta, puts = $puts:tt, attrs = $attrs:tt ) => { ... }; ( $func:ident, filter = $filter:meta, attrs = $attrs:tt, puts = $puts:tt ) => { ... }; ( $func:ident, puts = $puts:tt, filter = $filter:meta, attrs = $attrs:tt ) => { ... }; ( $func:ident, puts = all, attrs = $attrs:tt, filter = $filter:meta ) => { ... }; ( $func:ident, puts = [ $($put:ident : $putstr:literal),* ], attrs = $attrs:tt, filter = $filter:meta ) => { ... }; (@expand-one $func:ident, put = $put:ident : $putstr:literal, attrs = [ $( $attr:meta ),* ], filter = $filter:meta) => { ... }; }