1
1
use crate :: fragment:: { Expr , Fragment , Match , Stmts } ;
2
2
use crate :: internals:: ast:: { Container , Data , Field , Style , Variant } ;
3
+ use crate :: internals:: deprecated:: allow_deprecated;
3
4
use crate :: internals:: name:: Name ;
4
5
use crate :: internals:: { attr, replace_receiver, ungroup, Ctxt , Derive } ;
5
6
use crate :: { bound, dummy, pretend, private, this} ;
@@ -22,6 +23,8 @@ pub fn expand_derive_deserialize(input: &mut syn::DeriveInput) -> syn::Result<To
22
23
precondition ( & ctxt, & cont) ;
23
24
ctxt. check ( ) ?;
24
25
26
+ let allow_deprecated = allow_deprecated ( input) ?;
27
+
25
28
let ident = & cont. ident ;
26
29
let params = Parameters :: new ( & cont) ;
27
30
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
33
36
let used = pretend:: pretend_used ( & cont, params. is_packed ) ;
34
37
quote ! {
35
38
#[ automatically_derived]
39
+ #allow_deprecated
36
40
impl #de_impl_generics #ident #ty_generics #where_clause {
37
41
#vis fn deserialize<__D>( __deserializer: __D) -> _serde:: #private:: Result <#remote #ty_generics, __D:: Error >
38
42
where
@@ -48,6 +52,7 @@ pub fn expand_derive_deserialize(input: &mut syn::DeriveInput) -> syn::Result<To
48
52
49
53
quote ! {
50
54
#[ automatically_derived]
55
+ #allow_deprecated
51
56
impl #de_impl_generics _serde:: Deserialize <#delife> for #ident #ty_generics #where_clause {
52
57
fn deserialize<__D>( __deserializer: __D) -> _serde:: #private:: Result <Self , __D:: Error >
53
58
where
0 commit comments