macro_rules! throw { ($msg:literal $(,)?) => { ... }; ($msg:literal $(, $rest:tt)* $(,)?) => { ... }; ($error:expr $(,)?) => { ... }; ($(,)?) => { ... }; }