macro_rules! err { ($error:expr) => { ... }; ($error:expr, $(add:$addon:expr),*) => { ... }; ($error:expr, $msg:expr) => { ... }; ($error:expr, $msg:expr, $(add:$addon:expr),*) => { ... }; ($error:expr, $fmt_fn:expr, $fmt_data:expr) => { ... }; ($error:expr, $fmt_fn:expr, $fmt_data:expr, $(add:$addon:expr),*) => { ... }; }