1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/// Unconditionally causes parsing to fail with the given error message. #[macro_export] macro_rules! parse_error { ($($args:tt)*) => { return ::syn::parse::Error::new( ::proc_macro2::Span::call_site(), format!($($args)*), ) .to_compile_error() .into() }; } /// Parses an identifier with a specific value, or throws an error otherwise. #[macro_export] macro_rules! parse_ident { ($input:ident, $value:expr) => { if $input.parse::<::syn::Ident>()? != $value { return Err($input.error(format!("Expected `{}`", $value))); } }; }