mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-13 04:21:04 +00:00
UFCS for Option::map and Result::map
This commit is contained in:
+11
-8
@@ -272,8 +272,9 @@ fn deserialize_seq(ident: &syn::Ident,
|
|||||||
ident, generics, field.ty, path);
|
ident, generics, field.ty, path);
|
||||||
quote!({
|
quote!({
|
||||||
#wrapper
|
#wrapper
|
||||||
try!(_serde::de::SeqVisitor::visit::<#wrapper_ty>(&mut __visitor))
|
_serde::export::Option::map(
|
||||||
.map(|__wrap| __wrap.value)
|
try!(_serde::de::SeqVisitor::visit::<#wrapper_ty>(&mut __visitor)),
|
||||||
|
|__wrap| __wrap.value)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -515,10 +516,11 @@ fn deserialize_externally_tagged_enum(ident: &syn::Ident,
|
|||||||
// all variants have `#[serde(skip_deserializing)]`.
|
// all variants have `#[serde(skip_deserializing)]`.
|
||||||
quote! {
|
quote! {
|
||||||
// FIXME: Once we drop support for Rust 1.15:
|
// FIXME: Once we drop support for Rust 1.15:
|
||||||
// let _serde::export::Err(err) = _serde::de::EnumVisitor::visit_variant::<__Field>(__visitor);
|
// let _serde::export::Err(__err) = _serde::de::EnumVisitor::visit_variant::<__Field>(__visitor);
|
||||||
// _serde::export::Err(err)
|
// _serde::export::Err(__err)
|
||||||
_serde::de::EnumVisitor::visit_variant::<__Field>(__visitor)
|
_serde::export::Result::map(
|
||||||
.map(|(impossible, _)| match impossible {})
|
_serde::de::EnumVisitor::visit_variant::<__Field>(__visitor),
|
||||||
|
|(__impossible, _)| match __impossible {})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
quote! {
|
quote! {
|
||||||
@@ -1251,8 +1253,9 @@ fn deserialize_map(ident: &syn::Ident,
|
|||||||
quote! {
|
quote! {
|
||||||
// FIXME: Once we drop support for Rust 1.15:
|
// FIXME: Once we drop support for Rust 1.15:
|
||||||
// let _serde::export::None::<__Field> = try!(_serde::de::MapVisitor::visit_key(&mut __visitor));
|
// let _serde::export::None::<__Field> = try!(_serde::de::MapVisitor::visit_key(&mut __visitor));
|
||||||
try!(_serde::de::MapVisitor::visit_key::<__Field>(&mut __visitor))
|
_serde::export::Option::map(
|
||||||
.map(|impossible| match impossible {});
|
try!(_serde::de::MapVisitor::visit_key::<__Field>(&mut __visitor)),
|
||||||
|
|__impossible| match __impossible {});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
quote! {
|
quote! {
|
||||||
|
|||||||
Reference in New Issue
Block a user