@@ -972,13 +972,7 @@ fn deserialize_struct(
972972 // Skip fields that shouldn't be deserialized or that were flattened,
973973 // so they don't appear in the storage in their literal form
974974 . filter ( |& ( _, field) | !field. attrs . skip_deserializing ( ) && !field. attrs . flatten ( ) )
975- . map ( |( i, field) | {
976- (
977- field. attrs . name ( ) . deserialize_name ( ) ,
978- field_i ( i) ,
979- field. attrs . aliases ( ) ,
980- )
981- } )
975+ . map ( |( i, field) | ( field_i ( i) , field. attrs . aliases ( ) ) )
982976 . collect ( ) ;
983977
984978 let has_flatten = has_flatten ( fields) ;
@@ -1038,9 +1032,7 @@ fn deserialize_struct(
10381032 let fields_stmt = if has_flatten {
10391033 None
10401034 } else {
1041- let field_names = field_names_idents
1042- . iter ( )
1043- . flat_map ( |& ( _, _, aliases) | aliases) ;
1035+ let field_names = field_names_idents. iter ( ) . flat_map ( |& ( _, aliases) | aliases) ;
10441036
10451037 Some ( quote ! {
10461038 #[ doc( hidden) ]
@@ -1137,13 +1129,7 @@ fn deserialize_struct_in_place(
11371129 . iter ( )
11381130 . enumerate ( )
11391131 . filter ( |& ( _, field) | !field. attrs . skip_deserializing ( ) )
1140- . map ( |( i, field) | {
1141- (
1142- field. attrs . name ( ) . deserialize_name ( ) ,
1143- field_i ( i) ,
1144- field. attrs . aliases ( ) ,
1145- )
1146- } )
1132+ . map ( |( i, field) | ( field_i ( i) , field. attrs . aliases ( ) ) )
11471133 . collect ( ) ;
11481134
11491135 let field_visitor = deserialize_field_identifier ( & field_names_idents, cattrs, false ) ;
@@ -1155,9 +1141,7 @@ fn deserialize_struct_in_place(
11551141 } ;
11561142 let visit_seq = Stmts ( deserialize_seq_in_place ( params, fields, cattrs, expecting) ) ;
11571143 let visit_map = Stmts ( deserialize_map_in_place ( params, fields, cattrs) ) ;
1158- let field_names = field_names_idents
1159- . iter ( )
1160- . flat_map ( |& ( _, _, aliases) | aliases) ;
1144+ let field_names = field_names_idents. iter ( ) . flat_map ( |& ( _, aliases) | aliases) ;
11611145 let type_name = cattrs. name ( ) . deserialize_name ( ) ;
11621146
11631147 let in_place_impl_generics = de_impl_generics. in_place ( ) ;
@@ -1248,24 +1232,20 @@ fn prepare_enum_variant_enum(variants: &[Variant]) -> (TokenStream, Stmts) {
12481232
12491233 let variant_names_idents: Vec < _ > = deserialized_variants
12501234 . clone ( )
1251- . map ( |( i, variant) | {
1252- (
1253- variant. attrs . name ( ) . deserialize_name ( ) ,
1254- field_i ( i) ,
1255- variant. attrs . aliases ( ) ,
1256- )
1257- } )
1235+ . map ( |( i, variant) | ( field_i ( i) , variant. attrs . aliases ( ) ) )
12581236 . collect ( ) ;
12591237
12601238 let fallthrough = deserialized_variants
12611239 . position ( |( _, variant) | variant. attrs . other ( ) )
12621240 . map ( |other_idx| {
1263- let ignore_variant = variant_names_idents[ other_idx] . 1 . clone ( ) ;
1241+ let ignore_variant = variant_names_idents[ other_idx] . 0 . clone ( ) ;
12641242 quote ! ( _serde:: __private:: Ok ( __Field:: #ignore_variant) )
12651243 } ) ;
12661244
12671245 let variants_stmt = {
1268- let variant_names = variant_names_idents. iter ( ) . map ( |( name, _, _) | name) ;
1246+ let variant_names = variant_names_idents
1247+ . iter ( )
1248+ . flat_map ( |& ( _, aliases) | aliases) ;
12691249 quote ! {
12701250 #[ doc( hidden) ]
12711251 const VARIANTS : & ' static [ & ' static str ] = & [ #( #variant_names) , * ] ;
@@ -2011,14 +1991,14 @@ fn deserialize_untagged_newtype_variant(
20111991}
20121992
20131993fn deserialize_generated_identifier (
2014- fields : & [ ( & str , Ident , & BTreeSet < String > ) ] ,
1994+ fields : & [ ( Ident , & BTreeSet < String > ) ] ,
20151995 has_flatten : bool ,
20161996 is_variant : bool ,
20171997 ignore_variant : Option < TokenStream > ,
20181998 fallthrough : Option < TokenStream > ,
20191999) -> Fragment {
20202000 let this_value = quote ! ( __Field) ;
2021- let field_idents: & Vec < _ > = & fields. iter ( ) . map ( |( _ , ident, _) | ident) . collect ( ) ;
2001+ let field_idents: & Vec < _ > = & fields. iter ( ) . map ( |( ident, _) | ident) . collect ( ) ;
20222002
20232003 let visitor_impl = Stmts ( deserialize_identifier (
20242004 & this_value,
@@ -2068,7 +2048,7 @@ fn deserialize_generated_identifier(
20682048/// Generates enum and its `Deserialize` implementation that represents each
20692049/// non-skipped field of the struct
20702050fn deserialize_field_identifier (
2071- fields : & [ ( & str , Ident , & BTreeSet < String > ) ] ,
2051+ fields : & [ ( Ident , & BTreeSet < String > ) ] ,
20722052 cattrs : & attr:: Container ,
20732053 has_flatten : bool ,
20742054) -> Stmts {
@@ -2145,16 +2125,10 @@ fn deserialize_custom_identifier(
21452125
21462126 let names_idents: Vec < _ > = ordinary
21472127 . iter ( )
2148- . map ( |variant| {
2149- (
2150- variant. attrs . name ( ) . deserialize_name ( ) ,
2151- variant. ident . clone ( ) ,
2152- variant. attrs . aliases ( ) ,
2153- )
2154- } )
2128+ . map ( |variant| ( variant. ident . clone ( ) , variant. attrs . aliases ( ) ) )
21552129 . collect ( ) ;
21562130
2157- let names = names_idents. iter ( ) . flat_map ( |& ( _, _ , aliases) | aliases) ;
2131+ let names = names_idents. iter ( ) . flat_map ( |& ( _, aliases) | aliases) ;
21582132
21592133 let names_const = if fallthrough. is_some ( ) {
21602134 None
@@ -2210,18 +2184,18 @@ fn deserialize_custom_identifier(
22102184
22112185fn deserialize_identifier (
22122186 this_value : & TokenStream ,
2213- fields : & [ ( & str , Ident , & BTreeSet < String > ) ] ,
2187+ fields : & [ ( Ident , & BTreeSet < String > ) ] ,
22142188 is_variant : bool ,
22152189 fallthrough : Option < TokenStream > ,
22162190 fallthrough_borrowed : Option < TokenStream > ,
22172191 collect_other_fields : bool ,
22182192 expecting : Option < & str > ,
22192193) -> Fragment {
2220- let str_mapping = fields. iter ( ) . map ( |( _ , ident, aliases) | {
2194+ let str_mapping = fields. iter ( ) . map ( |( ident, aliases) | {
22212195 // `aliases` also contains a main name
22222196 quote ! ( #( #aliases) |* => _serde:: __private:: Ok ( #this_value:: #ident) )
22232197 } ) ;
2224- let bytes_mapping = fields. iter ( ) . map ( |( _ , ident, aliases) | {
2198+ let bytes_mapping = fields. iter ( ) . map ( |( ident, aliases) | {
22252199 // `aliases` also contains a main name
22262200 let aliases = aliases
22272201 . iter ( )
@@ -2376,7 +2350,7 @@ fn deserialize_identifier(
23762350 }
23772351 }
23782352 } else {
2379- let u64_mapping = fields. iter ( ) . enumerate ( ) . map ( |( i, ( _ , ident, _) ) | {
2353+ let u64_mapping = fields. iter ( ) . enumerate ( ) . map ( |( i, ( ident, _) ) | {
23802354 let i = i as u64 ;
23812355 quote ! ( #i => _serde:: __private:: Ok ( #this_value:: #ident) )
23822356 } ) ;
0 commit comments