syn_utils/
macros.rs

1#[macro_export]
2macro_rules! bail {
3  ($item:expr, $fmt:literal $(, $args:expr)* $(,)?) => {
4    return Err(syn::Error::new_spanned(
5      &$item,
6      format!($fmt $(, $args)*)
7    ))
8  };
9}
10
11#[macro_export]
12macro_rules! bail_with_span {
13  ($span:expr, $fmt:literal $(, $args:expr)* $(,)?) => {
14    return Err(syn::Error::new(
15      $span,
16      format!($fmt $(, $args)*)
17    ))
18  };
19}
20
21#[macro_export]
22macro_rules! bail_call_site {
23  ($fmt:literal $(, $args:expr)* $(,)?) => {
24    return Err(syn::Error::new(
25      proc_macro2::Span::call_site(),
26      format!($fmt $(, $args)*)
27    ))
28  };
29}
30
31#[macro_export]
32macro_rules! error {
33  ($item:expr, $fmt:literal $(, $args:expr)* $(,)?) => {
34    syn::Error::new_spanned(
35      &$item,
36      format!($fmt $(, $args)*)
37    )
38  };
39}
40
41#[macro_export]
42macro_rules! error_with_span {
43  ($span:expr, $fmt:literal $(, $args:expr)* $(,)?) => {
44    syn::Error::new(
45      $span,
46      format!($fmt $(, $args)*)
47    )
48  };
49}
50
51#[macro_export]
52macro_rules! error_call_site {
53  ($fmt:literal $(, $args:expr)* $(,)?) => {
54    syn::Error::new(
55      proc_macro2::Span::call_site(),
56      format!($fmt $(, $args)*)
57    )
58  };
59}