Remove some clones of names of things

This commit is contained in:
David Tolnay
2023-08-05 17:00:56 -07:00
parent e3617e1f28
commit da55ed7e8d
3 changed files with 22 additions and 22 deletions
+5 -5
View File
@@ -1040,7 +1040,7 @@ fn deserialize_struct(
} else { } else {
let field_names = field_names_idents let field_names = field_names_idents
.iter() .iter()
.flat_map(|(_, _, aliases)| aliases); .flat_map(|&(_, _, aliases)| aliases);
Some(quote! { Some(quote! {
#[doc(hidden)] #[doc(hidden)]
@@ -1162,7 +1162,7 @@ fn deserialize_struct_in_place(
let visit_map = Stmts(deserialize_map_in_place(params, fields, cattrs)); let visit_map = Stmts(deserialize_map_in_place(params, fields, cattrs));
let field_names = field_names_idents let field_names = field_names_idents
.iter() .iter()
.flat_map(|(_, _, aliases)| aliases); .flat_map(|&(_, _, aliases)| aliases);
let type_name = cattrs.name().deserialize_name(); let type_name = cattrs.name().deserialize_name();
let in_place_impl_generics = de_impl_generics.in_place(); let in_place_impl_generics = de_impl_generics.in_place();
@@ -2001,7 +2001,7 @@ fn deserialize_untagged_newtype_variant(
} }
fn deserialize_generated_identifier( fn deserialize_generated_identifier(
fields: &[(String, Ident, Vec<String>)], fields: &[(&str, Ident, &[String])],
cattrs: &attr::Container, cattrs: &attr::Container,
is_variant: bool, is_variant: bool,
other_idx: Option<usize>, other_idx: Option<usize>,
@@ -2131,7 +2131,7 @@ fn deserialize_custom_identifier(
}) })
.collect(); .collect();
let names = names_idents.iter().flat_map(|(_, _, aliases)| aliases); let names = names_idents.iter().flat_map(|&(_, _, aliases)| aliases);
let names_const = if fallthrough.is_some() { let names_const = if fallthrough.is_some() {
None None
@@ -2187,7 +2187,7 @@ fn deserialize_custom_identifier(
fn deserialize_identifier( fn deserialize_identifier(
this_value: &TokenStream, this_value: &TokenStream,
fields: &[(String, Ident, Vec<String>)], fields: &[(&str, Ident, &[String])],
is_variant: bool, is_variant: bool,
fallthrough: Option<TokenStream>, fallthrough: Option<TokenStream>,
fallthrough_borrowed: Option<TokenStream>, fallthrough_borrowed: Option<TokenStream>,
+8 -8
View File
@@ -173,17 +173,17 @@ impl Name {
} }
/// Return the container name for the container when serializing. /// Return the container name for the container when serializing.
pub fn serialize_name(&self) -> String { pub fn serialize_name(&self) -> &str {
self.serialize.clone() &self.serialize
} }
/// Return the container name for the container when deserializing. /// Return the container name for the container when deserializing.
pub fn deserialize_name(&self) -> String { pub fn deserialize_name(&self) -> &str {
self.deserialize.clone() &self.deserialize
} }
fn deserialize_aliases(&self) -> Vec<String> { fn deserialize_aliases(&self) -> &[String] {
self.deserialize_aliases.clone() &self.deserialize_aliases
} }
fn insert_deserialize_name_into_aliases(&mut self) { fn insert_deserialize_name_into_aliases(&mut self) {
@@ -986,7 +986,7 @@ impl Variant {
&self.name &self.name
} }
pub fn aliases(&self) -> Vec<String> { pub fn aliases(&self) -> &[String] {
self.name.deserialize_aliases() self.name.deserialize_aliases()
} }
@@ -1326,7 +1326,7 @@ impl Field {
&self.name &self.name
} }
pub fn aliases(&self) -> Vec<String> { pub fn aliases(&self) -> &[String] {
self.name.deserialize_aliases() self.name.deserialize_aliases()
} }
+9 -9
View File
@@ -566,7 +566,7 @@ fn serialize_externally_tagged_variant(
}, },
params, params,
&variant.fields, &variant.fields,
&type_name, type_name,
), ),
} }
} }
@@ -631,7 +631,7 @@ fn serialize_internally_tagged_variant(
StructVariant::InternallyTagged { tag, variant_name }, StructVariant::InternallyTagged { tag, variant_name },
params, params,
&variant.fields, &variant.fields,
&type_name, type_name,
), ),
Style::Tuple => unreachable!("checked in serde_derive_internals"), Style::Tuple => unreachable!("checked in serde_derive_internals"),
} }
@@ -698,7 +698,7 @@ fn serialize_adjacently_tagged_variant(
StructVariant::Untagged, StructVariant::Untagged,
params, params,
&variant.fields, &variant.fields,
&variant_name, variant_name,
), ),
} }
}); });
@@ -794,16 +794,16 @@ fn serialize_untagged_variant(
Style::Tuple => serialize_tuple_variant(TupleVariant::Untagged, params, &variant.fields), Style::Tuple => serialize_tuple_variant(TupleVariant::Untagged, params, &variant.fields),
Style::Struct => { Style::Struct => {
let type_name = cattrs.name().serialize_name(); let type_name = cattrs.name().serialize_name();
serialize_struct_variant(StructVariant::Untagged, params, &variant.fields, &type_name) serialize_struct_variant(StructVariant::Untagged, params, &variant.fields, type_name)
} }
} }
} }
enum TupleVariant { enum TupleVariant<'a> {
ExternallyTagged { ExternallyTagged {
type_name: String, type_name: &'a str,
variant_index: u32, variant_index: u32,
variant_name: String, variant_name: &'a str,
}, },
Untagged, Untagged,
} }
@@ -870,11 +870,11 @@ fn serialize_tuple_variant(
enum StructVariant<'a> { enum StructVariant<'a> {
ExternallyTagged { ExternallyTagged {
variant_index: u32, variant_index: u32,
variant_name: String, variant_name: &'a str,
}, },
InternallyTagged { InternallyTagged {
tag: &'a str, tag: &'a str,
variant_name: String, variant_name: &'a str,
}, },
Untagged, Untagged,
} }