aerro_macros/lib.rs
1//! Procedural macros for `aerro`. Implementation lives in sibling modules.
2
3mod attrs;
4mod codegen;
5mod handler_derive;
6mod operation;
7
8#[proc_macro_derive(Aerro, attributes(aerro, source, from))]
9pub fn aerro_derive(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
10 operation::expand(item.into()).into()
11}
12
13#[proc_macro_derive(AerroHandler, attributes(aerro))]
14pub fn aerro_handler_derive(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
15 handler_derive::expand(item.into()).into()
16}