Merge pull request #1227 from serde-rs/ser
Improve Serialize of adjacently tagged newtype variants
This commit is contained in:
commit
1a972d2105
@ -596,9 +596,15 @@ fn serialize_adjacently_tagged_variant(
|
|||||||
field_expr = wrap_serialize_field_with(params, field.ty, path, &field_expr);
|
field_expr = wrap_serialize_field_with(params, field.ty, path, &field_expr);
|
||||||
}
|
}
|
||||||
|
|
||||||
quote_expr! {
|
return quote_block! {
|
||||||
_serde::Serialize::serialize(#field_expr, __serializer)
|
let mut __struct = try!(_serde::Serializer::serialize_struct(
|
||||||
}
|
__serializer, #type_name, 2));
|
||||||
|
try!(_serde::ser::SerializeStruct::serialize_field(
|
||||||
|
&mut __struct, #tag, #variant_name));
|
||||||
|
try!(_serde::ser::SerializeStruct::serialize_field(
|
||||||
|
&mut __struct, #content, #field_expr));
|
||||||
|
_serde::ser::SerializeStruct::end(__struct)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
Style::Tuple => {
|
Style::Tuple => {
|
||||||
serialize_tuple_variant(TupleVariant::Untagged, params, &variant.fields)
|
serialize_tuple_variant(TupleVariant::Untagged, params, &variant.fields)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user