mini_internal/lib.rs
1#![allow(
2 clippy::module_name_repetitions,
3 clippy::needless_pass_by_value,
4 clippy::unseparated_literal_suffix
5)]
6
7extern crate proc_macro;
8
9mod attr;
10mod bound;
11mod de;
12mod fallback;
13mod ser;
14
15use proc_macro::TokenStream;
16use syn::{parse_macro_input, DeriveInput};
17
18#[proc_macro_derive(Serialize, attributes(serde))]
19pub fn derive_serialize(input: TokenStream) -> TokenStream {
20 let input = parse_macro_input!(input as DeriveInput);
21 ser::derive(&input).into()
22}
23
24#[proc_macro_derive(Deserialize, attributes(serde))]
25pub fn derive_deserialize(input: TokenStream) -> TokenStream {
26 let input = parse_macro_input!(input as DeriveInput);
27 de::derive(&input).into()
28}