mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-15 07:21:01 +00:00
Generate one deserializer rather than in each arm
This commit is contained in:
@@ -1356,9 +1356,7 @@ fn deserialize_internally_tagged_enum(
|
|||||||
params,
|
params,
|
||||||
variant,
|
variant,
|
||||||
cattrs,
|
cattrs,
|
||||||
quote! {
|
quote!(__deserializer),
|
||||||
_serde::__private::de::ContentDeserializer::<__D::Error>::new(__tagged.content)
|
|
||||||
},
|
|
||||||
));
|
));
|
||||||
|
|
||||||
quote! {
|
quote! {
|
||||||
@@ -1377,6 +1375,7 @@ fn deserialize_internally_tagged_enum(
|
|||||||
let __tagged = try!(_serde::Deserializer::deserialize_any(
|
let __tagged = try!(_serde::Deserializer::deserialize_any(
|
||||||
__deserializer,
|
__deserializer,
|
||||||
_serde::__private::de::TaggedContentVisitor::<__Field>::new(#tag, #expecting)));
|
_serde::__private::de::TaggedContentVisitor::<__Field>::new(#tag, #expecting)));
|
||||||
|
let __deserializer = _serde::__private::de::ContentDeserializer::<__D::Error>::new(__tagged.content);
|
||||||
|
|
||||||
match __tagged.tag {
|
match __tagged.tag {
|
||||||
#(#variant_arms)*
|
#(#variant_arms)*
|
||||||
|
|||||||
Reference in New Issue
Block a user