mini_internal/fallback.rs
1use proc_macro2::TokenStream;
2use quote::quote;
3use syn::DeriveInput;
4
5pub(crate) fn ser(input: &DeriveInput, error: syn::Error) -> TokenStream {
6 let ident = &input.ident;
7 let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
8
9 let error = error.into_compile_error();
10
11 quote! {
12 #error
13
14 #[allow(deprecated)]
15 impl #impl_generics miniserde::Serialize for #ident #ty_generics #where_clause {
16 fn begin(&self) -> miniserde::ser::Fragment {
17 miniserde::__private::unreachable!()
18 }
19 }
20 }
21}
22
23pub(crate) fn de(input: &DeriveInput, error: syn::Error) -> TokenStream {
24 let ident = &input.ident;
25 let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
26
27 let error = error.into_compile_error();
28
29 quote! {
30 #error
31
32 #[allow(deprecated)]
33 impl #impl_generics miniserde::Deserialize for #ident #ty_generics #where_clause {
34 fn begin(__out: &mut miniserde::__private::Option<Self>) -> &mut dyn miniserde::de::Visitor {
35 miniserde::__private::unreachable!()
36 }
37 }
38 }
39}