#[macro_export]
macro_rules! tinystr {
($n:literal, $s:literal) => {{
const TINYSTR_MACRO_CONST: $crate::TinyAsciiStr<$n> = {
match $crate::TinyAsciiStr::from_bytes($s.as_bytes()) {
Ok(s) => s,
#[allow(clippy::panic)]
Err(_) => panic!(concat!("Failed to construct tinystr from ", $s)),
}
};
TINYSTR_MACRO_CONST
}};
}
#[cfg(test)]
mod tests {
#[test]
fn test_macro_construction() {
let s1 = tinystr!(8, "foobar");
assert_eq!(&*s1, "foobar");
let s1 = tinystr!(12, "foobarbaz");
assert_eq!(&*s1, "foobarbaz");
}
}