ector_macros/lib.rs
1#![allow(incomplete_features)]
2#![cfg_attr(feature = "nightly", feature(proc_macro_diagnostic))]
3
4extern crate proc_macro;
5mod actor;
6
7use {
8 actor::{generate_actor, Item},
9 proc_macro::TokenStream,
10 quote::quote,
11 syn::{
12 parse_macro_input, {self},
13 },
14};
15
16#[proc_macro_attribute]
17pub fn actor(_: TokenStream, input: TokenStream) -> TokenStream {
18 let mut item = parse_macro_input!(input as Item);
19 generate_actor(&mut item);
20 TokenStream::from(quote!(#item))
21}