Skip to main content

serde_implicit_proc/
lib.rs

1use proc_macro::TokenStream as TS1;
2use syn::{DeriveInput, parse_macro_input};
3
4mod ast;
5mod expand;
6mod tuple_enum;
7
8// todo: shadow serde completely?
9#[proc_macro_derive(Deserialize, attributes(serde_implicit))]
10pub fn derive_serialize(input: TS1) -> TS1 {
11    let input = parse_macro_input!(input as DeriveInput);
12
13    let ts = expand::expand_derive_serialize(input)
14        .unwrap_or_else(syn::Error::into_compile_error)
15        .into();
16
17    ts
18}