Skip to content

Commit 8b769fc

Browse files
committed
Remove unused component from tuple
1 parent 9c95426 commit 8b769fc

File tree

1 file changed

+18
-44
lines changed

1 file changed

+18
-44
lines changed

serde_derive/src/de.rs

Lines changed: 18 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -968,13 +968,7 @@ fn deserialize_struct(
968968
// Skip fields that shouldn't be deserialized or that were flattened,
969969
// so they don't appear in the storage in their literal form
970970
.filter(|&(_, field)| !field.attrs.skip_deserializing() && !field.attrs.flatten())
971-
.map(|(i, field)| {
972-
(
973-
field.attrs.name().deserialize_name(),
974-
field_i(i),
975-
field.attrs.aliases(),
976-
)
977-
})
971+
.map(|(i, field)| (field_i(i), field.attrs.aliases()))
978972
.collect();
979973
let field_visitor = deserialize_field_identifier(&field_names_idents, cattrs, has_flatten);
980974

@@ -1032,9 +1026,7 @@ fn deserialize_struct(
10321026
let fields_stmt = if has_flatten {
10331027
None
10341028
} else {
1035-
let field_names = field_names_idents
1036-
.iter()
1037-
.flat_map(|&(_, _, aliases)| aliases);
1029+
let field_names = field_names_idents.iter().flat_map(|&(_, aliases)| aliases);
10381030

10391031
Some(quote! {
10401032
#[doc(hidden)]
@@ -1131,13 +1123,7 @@ fn deserialize_struct_in_place(
11311123
.iter()
11321124
.enumerate()
11331125
.filter(|&(_, field)| !field.attrs.skip_deserializing())
1134-
.map(|(i, field)| {
1135-
(
1136-
field.attrs.name().deserialize_name(),
1137-
field_i(i),
1138-
field.attrs.aliases(),
1139-
)
1140-
})
1126+
.map(|(i, field)| (field_i(i), field.attrs.aliases()))
11411127
.collect();
11421128

11431129
let field_visitor = deserialize_field_identifier(&field_names_idents, cattrs, false);
@@ -1149,9 +1135,7 @@ fn deserialize_struct_in_place(
11491135
};
11501136
let visit_seq = Stmts(deserialize_seq_in_place(params, fields, cattrs, expecting));
11511137
let visit_map = Stmts(deserialize_map_in_place(params, fields, cattrs));
1152-
let field_names = field_names_idents
1153-
.iter()
1154-
.flat_map(|&(_, _, aliases)| aliases);
1138+
let field_names = field_names_idents.iter().flat_map(|&(_, aliases)| aliases);
11551139
let type_name = cattrs.name().deserialize_name();
11561140

11571141
let in_place_impl_generics = de_impl_generics.in_place();
@@ -1242,24 +1226,20 @@ fn prepare_enum_variant_enum(variants: &[Variant]) -> (TokenStream, Stmts) {
12421226

12431227
let variant_names_idents: Vec<_> = deserialized_variants
12441228
.clone()
1245-
.map(|(i, variant)| {
1246-
(
1247-
variant.attrs.name().deserialize_name(),
1248-
field_i(i),
1249-
variant.attrs.aliases(),
1250-
)
1251-
})
1229+
.map(|(i, variant)| (field_i(i), variant.attrs.aliases()))
12521230
.collect();
12531231

12541232
let fallthrough = deserialized_variants
12551233
.position(|(_, variant)| variant.attrs.other())
12561234
.map(|other_idx| {
1257-
let ignore_variant = variant_names_idents[other_idx].1.clone();
1235+
let ignore_variant = variant_names_idents[other_idx].0.clone();
12581236
quote!(_serde::__private::Ok(__Field::#ignore_variant))
12591237
});
12601238

12611239
let variants_stmt = {
1262-
let variant_names = variant_names_idents.iter().flat_map(|&(_, _, aliases)| aliases);
1240+
let variant_names = variant_names_idents
1241+
.iter()
1242+
.flat_map(|&(_, aliases)| aliases);
12631243
quote! {
12641244
#[doc(hidden)]
12651245
const VARIANTS: &'static [&'static str] = &[ #(#variant_names),* ];
@@ -2010,14 +1990,14 @@ fn deserialize_untagged_newtype_variant(
20101990
}
20111991

20121992
fn deserialize_generated_identifier(
2013-
fields: &[(&str, Ident, &BTreeSet<String>)],
1993+
fields: &[(Ident, &BTreeSet<String>)],
20141994
has_flatten: bool,
20151995
is_variant: bool,
20161996
ignore_variant: Option<TokenStream>,
20171997
fallthrough: Option<TokenStream>,
20181998
) -> Fragment {
20191999
let this_value = quote!(__Field);
2020-
let field_idents: &Vec<_> = &fields.iter().map(|(_, ident, _)| ident).collect();
2000+
let field_idents: &Vec<_> = &fields.iter().map(|(ident, _)| ident).collect();
20212001

20222002
let visitor_impl = Stmts(deserialize_identifier(
20232003
&this_value,
@@ -2067,7 +2047,7 @@ fn deserialize_generated_identifier(
20672047
/// Generates enum and its `Deserialize` implementation that represents each
20682048
/// non-skipped field of the struct
20692049
fn deserialize_field_identifier(
2070-
fields: &[(&str, Ident, &BTreeSet<String>)],
2050+
fields: &[(Ident, &BTreeSet<String>)],
20712051
cattrs: &attr::Container,
20722052
has_flatten: bool,
20732053
) -> Stmts {
@@ -2144,16 +2124,10 @@ fn deserialize_custom_identifier(
21442124

21452125
let names_idents: Vec<_> = ordinary
21462126
.iter()
2147-
.map(|variant| {
2148-
(
2149-
variant.attrs.name().deserialize_name(),
2150-
variant.ident.clone(),
2151-
variant.attrs.aliases(),
2152-
)
2153-
})
2127+
.map(|variant| (variant.ident.clone(), variant.attrs.aliases()))
21542128
.collect();
21552129

2156-
let names = names_idents.iter().flat_map(|&(_, _, aliases)| aliases);
2130+
let names = names_idents.iter().flat_map(|&(_, aliases)| aliases);
21572131

21582132
let names_const = if fallthrough.is_some() {
21592133
None
@@ -2209,18 +2183,18 @@ fn deserialize_custom_identifier(
22092183

22102184
fn deserialize_identifier(
22112185
this_value: &TokenStream,
2212-
fields: &[(&str, Ident, &BTreeSet<String>)],
2186+
fields: &[(Ident, &BTreeSet<String>)],
22132187
is_variant: bool,
22142188
fallthrough: Option<TokenStream>,
22152189
fallthrough_borrowed: Option<TokenStream>,
22162190
collect_other_fields: bool,
22172191
expecting: Option<&str>,
22182192
) -> Fragment {
2219-
let str_mapping = fields.iter().map(|(_, ident, aliases)| {
2193+
let str_mapping = fields.iter().map(|(ident, aliases)| {
22202194
// `aliases` also contains a main name
22212195
quote!(#(#aliases)|* => _serde::__private::Ok(#this_value::#ident))
22222196
});
2223-
let bytes_mapping = fields.iter().map(|(_, ident, aliases)| {
2197+
let bytes_mapping = fields.iter().map(|(ident, aliases)| {
22242198
// `aliases` also contains a main name
22252199
let aliases = aliases
22262200
.iter()
@@ -2375,7 +2349,7 @@ fn deserialize_identifier(
23752349
}
23762350
}
23772351
} else {
2378-
let u64_mapping = fields.iter().enumerate().map(|(i, (_, ident, _))| {
2352+
let u64_mapping = fields.iter().enumerate().map(|(i, (ident, _))| {
23792353
let i = i as u64;
23802354
quote!(#i => _serde::__private::Ok(#this_value::#ident))
23812355
});

0 commit comments

Comments
 (0)