tour_macros/
lib.rs

1//! Macros for `tour` library.
2//!
3//! [`tour`]: <https://docs.rs/tour>
4
5/// Derive macro for `Template` trait
6#[proc_macro_derive(Template, attributes(template))]
7pub fn template(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
8    match tour_parser::codegen::derive(&syn::parse_macro_input!(input as syn::DeriveInput)) {
9        Ok(ok) => ok.into(),
10        Err(err) => err.into_compile_error().into(),
11    }
12}
13