#[doc(hidden)]
macro_rules! err {
($variant:ident($($expr:expr),* ; $($litstr:literal),*)) => {
$crate::Error::$variant(
$($expr.to_token_stream().to_string()),*,
$($litstr.to_string()),*
).as_str()
};
($variant:ident($($litstr:literal),*)) => {
$crate::Error::$variant(
$($litstr.to_string()),*
).as_str()
};
($variant:ident($($expr:expr),*)) => {
$crate::Error::$variant(
$($expr.to_token_stream().to_string()),*
).as_str()
};
($variant:ident(@String $expr:expr)) => {
$crate::Error::$variant(
$expr
).as_str()
};
($variant:ident) => {
$crate::Error::$variant.as_str()
};
}