topcoat-core-macro 0.0.4

A modular, batteries-included Rust web framework for server-rendered apps.
Documentation
1
2
3
4
5
6
7
8
9
10
11
use proc_macro::TokenStream;
use quote::quote;

#[doc = include_str!("../docs/memoization.md")]
#[proc_macro_attribute]
pub fn memoize(attr: TokenStream, item: TokenStream) -> TokenStream {
    match topcoat_core_grammar::memoize::Memoize::parse(attr.into(), item.into()) {
        Ok(value) => quote! { #value }.into(),
        Err(error) => error.to_compile_error().into(),
    }
}