macro_rules! error { (@base $expr:expr) => { ... }; ($str:literal $(,)?) => { ... }; ($expr:expr $(,)?) => { ... }; ($fmt:expr, $($arg:tt)*) => { ... }; }