serde_implicit_proc/
lib.rs

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