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