moxy-derive 0.0.4

derive macros for moxy crate
Documentation
pub(crate) trait Render {
    type Args;

    fn render(&self, args: Self::Args) -> syn::Result<proc_macro2::TokenStream>;
}

impl<T: Render> Render for syn::Result<T> {
    type Args = T::Args;

    fn render(&self, args: Self::Args) -> syn::Result<proc_macro2::TokenStream> {
        match self {
            Err(err) => Err(err.clone()),
            Ok(v) => v.render(args),
        }
    }
}

pub(crate) trait Error: syn::spanned::Spanned {
    fn error(&self, message: &str) -> syn::Error {
        syn::Error::new(self.span(), message)
    }
}

impl<T: syn::spanned::Spanned> Error for T {}