powerset_enum_attr/
lib.rs1#![recursion_limit = "128"]
2extern crate proc_macro;
3
4use syn::parse_macro_input;
5
6mod powerset_enum_impl;
7mod powerset_macro_impl;
8
9#[proc_macro]
10pub fn powerset(args: proc_macro::TokenStream) -> proc_macro::TokenStream {
11 match powerset_macro_impl::powerset_macro_impl(parse_macro_input!(args)) {
12 Ok(output) => output.into(),
13 Err(error) => error.to_compile_error().into(),
14 }
15}
16
17#[proc_macro_attribute]
23pub fn powerset_enum(
24 _args: proc_macro::TokenStream,
25 input: proc_macro::TokenStream,
26) -> proc_macro::TokenStream {
27 match powerset_enum_impl::powerset_enum_impl(parse_macro_input!(input)) {
28 Ok(output) => output.into(),
29 Err(error) => error.to_compile_error().into(),
30 }
31}