mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-22 02:07:56 +00:00
Do not use ? operator in the generated code where possible
This may slightly improve compilation time and costs nothing
This commit is contained in:
@@ -594,13 +594,16 @@ fn deserialize_seq_in_place(
|
||||
let (wrapper, wrapper_ty) = wrap_deserialize_field_with(params, field.ty, path);
|
||||
quote!({
|
||||
#wrapper
|
||||
match _serde::de::SeqAccess::next_element::<#wrapper_ty>(&mut __seq)? {
|
||||
_serde::#private::Some(__wrap) => {
|
||||
match _serde::de::SeqAccess::next_element::<#wrapper_ty>(&mut __seq) {
|
||||
_serde::#private::Ok(_serde::#private::Some(__wrap)) => {
|
||||
self.place.#member = __wrap.value;
|
||||
}
|
||||
_serde::#private::None => {
|
||||
_serde::#private::Ok(_serde::#private::None) => {
|
||||
#value_if_none;
|
||||
}
|
||||
_serde::#private::Err(__err) => {
|
||||
return _serde::#private::Err(__err);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -282,8 +282,8 @@ pub(super) fn deserialize(
|
||||
__A: _serde::de::SeqAccess<#delife>,
|
||||
{
|
||||
// Visit the first element - the tag.
|
||||
match _serde::de::SeqAccess::next_element(&mut __seq)? {
|
||||
_serde::#private::Some(__variant) => {
|
||||
match _serde::de::SeqAccess::next_element(&mut __seq) {
|
||||
_serde::#private::Ok(_serde::#private::Some(__variant)) => {
|
||||
// Visit the second element - the content.
|
||||
match _serde::de::SeqAccess::next_element_seed(
|
||||
&mut __seq,
|
||||
@@ -292,18 +292,20 @@ pub(super) fn deserialize(
|
||||
marker: _serde::#private::PhantomData,
|
||||
lifetime: _serde::#private::PhantomData,
|
||||
},
|
||||
)? {
|
||||
_serde::#private::Some(__ret) => _serde::#private::Ok(__ret),
|
||||
) {
|
||||
_serde::#private::Ok(_serde::#private::Some(__ret)) => _serde::#private::Ok(__ret),
|
||||
// There is no second element.
|
||||
_serde::#private::None => {
|
||||
_serde::#private::Ok(_serde::#private::None) => {
|
||||
_serde::#private::Err(_serde::de::Error::invalid_length(1, &self))
|
||||
}
|
||||
_serde::#private::Err(__err) => _serde::#private::Err(__err),
|
||||
}
|
||||
}
|
||||
// There is no first element.
|
||||
_serde::#private::None => {
|
||||
_serde::#private::Ok(_serde::#private::None) => {
|
||||
_serde::#private::Err(_serde::de::Error::invalid_length(0, &self))
|
||||
}
|
||||
_serde::#private::Err(__err) => _serde::#private::Err(__err),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ pub(super) fn deserialize(
|
||||
));
|
||||
|
||||
quote! {
|
||||
(__Field::#variant_name, __variant) => #block
|
||||
_serde::#private::Ok((__Field::#variant_name, __variant)) => #block
|
||||
}
|
||||
});
|
||||
|
||||
@@ -69,8 +69,9 @@ pub(super) fn deserialize(
|
||||
}
|
||||
} else {
|
||||
quote! {
|
||||
match _serde::de::EnumAccess::variant(__data)? {
|
||||
match _serde::de::EnumAccess::variant(__data) {
|
||||
#(#variant_arms)*
|
||||
_serde::#private::Err(__err) => _serde::#private::Err(__err),
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user