1extern crate proc_macro;
2
3#[cfg(feature = "asynchronous-traits")]
4mod async_macro;
5
6#[cfg(feature = "event")]
7mod responsible_macro;
8
9#[cfg(feature = "asynchronous-traits")]
10#[proc_macro_attribute]
11pub fn asynchronous(
12 attr: proc_macro::TokenStream,
13 item: proc_macro::TokenStream,
14) -> proc_macro::TokenStream {
15 async_macro::asynchronous_macro(attr, item)
16}
17
18#[cfg(feature = "event")]
19#[proc_macro_attribute]
20pub fn responsible(
21 attr: proc_macro::TokenStream,
22 item: proc_macro::TokenStream,
23) -> proc_macro::TokenStream {
24 responsible_macro::responsible_macro(attr, item)
25}