Skip to content

Instantly share code, notes, and snippets.

@lawliet89
Last active April 21, 2017 08:59
Show Gist options
  • Save lawliet89/ab9118b620b38ae830e8e7dc25ed70a3 to your computer and use it in GitHub Desktop.
Save lawliet89/ab9118b620b38ae830e8e7dc25ed70a3 to your computer and use it in GitHub Desktop.
serde derive codegen v1 from cargo expand
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _IMPL_DESERIALIZE_FOR_Compact: () = {
extern crate serde as _serde;
#[automatically_derived]
impl<'de, T: CompactPart, H: Serialize + for<'de_inner> Deserialize<'de_inner>> _serde::Deserialize<'de>
for Compact<T, H>
where T: _serde::Deserialize<'de>
{
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error>
where __D: _serde::Deserializer<'de>
{
let __content =
match <_serde::private::de::Content as _serde::Deserialize>::deserialize(__deserializer) {
::result::Result::Ok(val) => val,
::result::Result::Err(err) => return ::result::Result::Err(::convert::From::from(err)),
};
if let _serde::export::Ok(__ok) =
_serde::export::Result::map(<::Compact as
_serde::Deserialize>::deserialize(_serde::private::de::ContentRefDeserializer::<__D::Error>::new(&__content)),
Compact::Encoded) {
return _serde::export::Ok(__ok);
}
_serde::export::Err(_serde::de::Error::custom("data did not match any variant of untagged enum Compact"))
}
}
};
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _IMPL_SERIALIZE_FOR_Compact: () = {
extern crate serde as _serde;
#[automatically_derived]
impl<T: CompactPart, H: Serialize + for<'de_inner> Deserialize<'de_inner>> _serde::Serialize for Compact<T, H>
where T: _serde::Serialize,
H: _serde::Serialize
{
fn serialize<__S>(&self, __serializer: __S) -> _serde::export::Result<__S::Ok, __S::Error>
where __S: _serde::Serializer
{
match *self {
Compact::Decoded { .. } => _serde::export::Err(_serde::ser::Error::custom("the enum variant Compact::Decoded cannot be serialized")),
Compact::Encoded(ref __field0) => _serde::Serialize::serialize(__field0, __serializer),
}
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment