mini_internal_miku/
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 ser;
13
14use proc_macro::TokenStream;
15use syn::{parse_macro_input, DeriveInput};
16
17#[proc_macro_derive(Serialize, attributes(serde))]
18pub fn derive_serialize(input: TokenStream) -> TokenStream {
19    ser::derive(parse_macro_input!(input as DeriveInput))
20        .unwrap_or_else(|err| err.to_compile_error())
21        .into()
22}
23
24#[proc_macro_derive(Deserialize, attributes(serde))]
25pub fn derive_deserialize(input: TokenStream) -> TokenStream {
26    de::derive(parse_macro_input!(input as DeriveInput))
27        .unwrap_or_else(|err| err.to_compile_error())
28        .into()
29}