11use crate :: fragment:: { Expr , Fragment , Match , Stmts } ;
22use crate :: internals:: ast:: { Container , Data , Field , Style , Variant } ;
3+ use crate :: internals:: deprecated:: allow_deprecated;
34use crate :: internals:: name:: Name ;
45use crate :: internals:: { attr, replace_receiver, ungroup, Ctxt , Derive } ;
56use crate :: { bound, dummy, pretend, private, this} ;
@@ -22,6 +23,8 @@ pub fn expand_derive_deserialize(input: &mut syn::DeriveInput) -> syn::Result<To
2223 precondition ( & ctxt, & cont) ;
2324 ctxt. check ( ) ?;
2425
26+ let allow_deprecated = allow_deprecated ( input) ?;
27+
2528 let ident = & cont. ident ;
2629 let params = Parameters :: new ( & cont) ;
2730 let ( de_impl_generics, _, ty_generics, where_clause) = split_with_de_lifetime ( & params) ;
@@ -33,6 +36,7 @@ pub fn expand_derive_deserialize(input: &mut syn::DeriveInput) -> syn::Result<To
3336 let used = pretend:: pretend_used ( & cont, params. is_packed ) ;
3437 quote ! {
3538 #[ automatically_derived]
39+ #allow_deprecated
3640 impl #de_impl_generics #ident #ty_generics #where_clause {
3741 #vis fn deserialize<__D>( __deserializer: __D) -> _serde:: #private:: Result <#remote #ty_generics, __D:: Error >
3842 where
@@ -48,6 +52,7 @@ pub fn expand_derive_deserialize(input: &mut syn::DeriveInput) -> syn::Result<To
4852
4953 quote ! {
5054 #[ automatically_derived]
55+ #allow_deprecated
5156 impl #de_impl_generics _serde:: Deserialize <#delife> for #ident #ty_generics #where_clause {
5257 fn deserialize<__D>( __deserializer: __D) -> _serde:: #private:: Result <Self , __D:: Error >
5358 where
0 commit comments