mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-26 01:37:55 +00:00
Remove use of ref keyword from serde_derive
This commit is contained in:
+20
-23
@@ -164,15 +164,13 @@ fn serialize_body(cont: &Container, params: &Parameters) -> Fragment {
|
||||
} else if let Some(type_into) = cont.attrs.type_into() {
|
||||
serialize_into(params, type_into)
|
||||
} else {
|
||||
match cont.data {
|
||||
Data::Enum(ref variants) => serialize_enum(params, variants, &cont.attrs),
|
||||
Data::Struct(Style::Struct, ref fields) => {
|
||||
serialize_struct(params, fields, &cont.attrs)
|
||||
}
|
||||
Data::Struct(Style::Tuple, ref fields) => {
|
||||
match &cont.data {
|
||||
Data::Enum(variants) => serialize_enum(params, variants, &cont.attrs),
|
||||
Data::Struct(Style::Struct, fields) => serialize_struct(params, fields, &cont.attrs),
|
||||
Data::Struct(Style::Tuple, fields) => {
|
||||
serialize_tuple_struct(params, fields, &cont.attrs)
|
||||
}
|
||||
Data::Struct(Style::Newtype, ref fields) => {
|
||||
Data::Struct(Style::Newtype, fields) => {
|
||||
serialize_newtype_struct(params, &fields[0], &cont.attrs)
|
||||
}
|
||||
Data::Struct(Style::Unit, _) => serialize_unit_struct(&cont.attrs),
|
||||
@@ -181,8 +179,8 @@ fn serialize_body(cont: &Container, params: &Parameters) -> Fragment {
|
||||
}
|
||||
|
||||
fn serialize_transparent(cont: &Container, params: &Parameters) -> Fragment {
|
||||
let fields = match cont.data {
|
||||
Data::Struct(_, ref fields) => fields,
|
||||
let fields = match &cont.data {
|
||||
Data::Struct(_, fields) => fields,
|
||||
Data::Enum(_) => unreachable!(),
|
||||
};
|
||||
|
||||
@@ -259,7 +257,7 @@ fn serialize_tuple_struct(
|
||||
let mut serialized_fields = fields
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|&(_, ref field)| !field.attrs.skip_serializing())
|
||||
.filter(|(_, field)| !field.attrs.skip_serializing())
|
||||
.peekable();
|
||||
|
||||
let let_mut = mut_if(serialized_fields.peek().is_some());
|
||||
@@ -296,8 +294,8 @@ fn serialize_struct(params: &Parameters, fields: &[Field], cattrs: &attr::Contai
|
||||
}
|
||||
|
||||
fn serialize_struct_tag_field(cattrs: &attr::Container, struct_trait: &StructTrait) -> TokenStream {
|
||||
match *cattrs.tag() {
|
||||
attr::TagType::Internal { ref tag } => {
|
||||
match cattrs.tag() {
|
||||
attr::TagType::Internal { tag } => {
|
||||
let type_name = cattrs.name().serialize_name();
|
||||
let func = struct_trait.serialize_field(Span::call_site());
|
||||
quote! {
|
||||
@@ -467,17 +465,16 @@ fn serialize_variant(
|
||||
}
|
||||
};
|
||||
|
||||
let body = Match(match *cattrs.tag() {
|
||||
let body = Match(match cattrs.tag() {
|
||||
attr::TagType::External => {
|
||||
serialize_externally_tagged_variant(params, variant, variant_index, cattrs)
|
||||
}
|
||||
attr::TagType::Internal { ref tag } => {
|
||||
attr::TagType::Internal { tag } => {
|
||||
serialize_internally_tagged_variant(params, variant, cattrs, tag)
|
||||
}
|
||||
attr::TagType::Adjacent {
|
||||
ref tag,
|
||||
ref content,
|
||||
} => serialize_adjacently_tagged_variant(params, variant, cattrs, tag, content),
|
||||
attr::TagType::Adjacent { tag, content } => {
|
||||
serialize_adjacently_tagged_variant(params, variant, cattrs, tag, content)
|
||||
}
|
||||
attr::TagType::None => serialize_untagged_variant(params, variant, cattrs),
|
||||
});
|
||||
|
||||
@@ -804,7 +801,7 @@ fn serialize_tuple_variant(
|
||||
let mut serialized_fields = fields
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|&(_, ref field)| !field.attrs.skip_serializing())
|
||||
.filter(|(_, field)| !field.attrs.skip_serializing())
|
||||
.peekable();
|
||||
|
||||
let let_mut = mut_if(serialized_fields.peek().is_some());
|
||||
@@ -1039,7 +1036,7 @@ fn serialize_tuple_struct_visitor(
|
||||
fields
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter(|&(_, ref field)| !field.attrs.skip_serializing())
|
||||
.filter(|(_, field)| !field.attrs.skip_serializing())
|
||||
.map(|(i, field)| {
|
||||
let mut field_expr = if is_enum {
|
||||
let id = Ident::new(&format!("__field{}", i), Span::call_site());
|
||||
@@ -1163,9 +1160,9 @@ fn wrap_serialize_variant_with(
|
||||
.fields
|
||||
.iter()
|
||||
.map(|field| {
|
||||
let id = match field.member {
|
||||
Member::Named(ref ident) => ident.clone(),
|
||||
Member::Unnamed(ref member) => {
|
||||
let id = match &field.member {
|
||||
Member::Named(ident) => ident.clone(),
|
||||
Member::Unnamed(member) => {
|
||||
Ident::new(&format!("__field{}", member.index), Span::call_site())
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user