macro_rules! format_args_cx { ($fmt:literal, $($args:tt)*) => { ... }; ($fmt:literal) => { ... }; (@go ($fmt:literal; ^$head:expr, $($tail:tt)*) -> ($($accum:tt)*)) => { ... }; (@go ($fmt:literal; $head:expr, $($tail:tt)*) -> ($($accum:tt)*)) => { ... }; (@go ($fmt:literal; ^$head:expr) -> ($($accum:tt)*)) => { ... }; (@go ($fmt:literal; $head:expr) -> ($($accum:tt)*)) => { ... }; (@as_expr $e:expr) => { ... }; }