@@ -630,11 +630,10 @@ fn deserialize_tuple_in_place(
630
630
}
631
631
} ;
632
632
633
+ let type_name = cattrs. name ( ) . deserialize_name ( ) ;
633
634
let dispatch = if nfields == 1 {
634
- let type_name = cattrs. name ( ) . deserialize_name ( ) ;
635
635
quote ! ( _serde:: Deserializer :: deserialize_newtype_struct( __deserializer, #type_name, #visitor_expr) )
636
636
} else {
637
- let type_name = cattrs. name ( ) . deserialize_name ( ) ;
638
637
quote ! ( _serde:: Deserializer :: deserialize_tuple_struct( __deserializer, #type_name, #field_count, #visitor_expr) )
639
638
} ;
640
639
@@ -1164,19 +1163,7 @@ fn deserialize_struct_in_place(
1164
1163
let field_names = field_names_idents
1165
1164
. iter ( )
1166
1165
. flat_map ( |( _, _, aliases) | aliases) ;
1167
-
1168
- let visitor_expr = quote ! {
1169
- __Visitor {
1170
- place: __place,
1171
- lifetime: _serde:: __private:: PhantomData ,
1172
- }
1173
- } ;
1174
- let dispatch = {
1175
- let type_name = cattrs. name ( ) . deserialize_name ( ) ;
1176
- quote ! {
1177
- _serde:: Deserializer :: deserialize_struct( __deserializer, #type_name, FIELDS , #visitor_expr)
1178
- }
1179
- } ;
1166
+ let type_name = cattrs. name ( ) . deserialize_name ( ) ;
1180
1167
1181
1168
let in_place_impl_generics = de_impl_generics. in_place ( ) ;
1182
1169
let in_place_ty_generics = de_ty_generics. in_place ( ) ;
@@ -1218,7 +1205,10 @@ fn deserialize_struct_in_place(
1218
1205
#[ doc( hidden) ]
1219
1206
const FIELDS : & ' static [ & ' static str ] = & [ #( #field_names) , * ] ;
1220
1207
1221
- #dispatch
1208
+ _serde:: Deserializer :: deserialize_struct( __deserializer, #type_name, FIELDS , __Visitor {
1209
+ place: __place,
1210
+ lifetime: _serde:: __private:: PhantomData ,
1211
+ } )
1222
1212
} )
1223
1213
}
1224
1214
0 commit comments