mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-07-25 11:45:42 +00:00
Update serde_codegen for Serializer changes
This commit is contained in:
+15
-15
@@ -30,7 +30,7 @@ pub fn expand_derive_serialize(item: &syn::MacroInput) -> Result<Tokens, String>
|
|||||||
extern crate serde as _serde;
|
extern crate serde as _serde;
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
impl #impl_generics _serde::Serialize for #ty #where_clause {
|
impl #impl_generics _serde::Serialize for #ty #where_clause {
|
||||||
fn serialize<__S>(&self, _serializer: &mut __S) -> ::std::result::Result<(), __S::Error>
|
fn serialize<__S>(&self, _serializer: __S) -> ::std::result::Result<__S::Ok, __S::Error>
|
||||||
where __S: _serde::Serializer
|
where __S: _serde::Serializer
|
||||||
{
|
{
|
||||||
#body
|
#body
|
||||||
@@ -159,7 +159,7 @@ fn serialize_tuple_struct(
|
|||||||
fields,
|
fields,
|
||||||
impl_generics,
|
impl_generics,
|
||||||
false,
|
false,
|
||||||
Ident::new("serialize_tuple_struct_elt"),
|
quote!(_serde::ser::SerializeTupleStruct::serialize_elem),
|
||||||
);
|
);
|
||||||
|
|
||||||
let type_name = item_attrs.name().serialize_name();
|
let type_name = item_attrs.name().serialize_name();
|
||||||
@@ -169,7 +169,7 @@ fn serialize_tuple_struct(
|
|||||||
quote! {
|
quote! {
|
||||||
let #let_mut __serde_state = try!(_serializer.serialize_tuple_struct(#type_name, #len));
|
let #let_mut __serde_state = try!(_serializer.serialize_tuple_struct(#type_name, #len));
|
||||||
#(#serialize_stmts)*
|
#(#serialize_stmts)*
|
||||||
_serializer.serialize_tuple_struct_end(__serde_state)
|
_serde::ser::SerializeTupleStruct::serialize_end(__serde_state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ fn serialize_struct(
|
|||||||
fields,
|
fields,
|
||||||
impl_generics,
|
impl_generics,
|
||||||
false,
|
false,
|
||||||
Ident::new("serialize_struct_elt"),
|
quote!(_serde::ser::SerializeStruct::serialize_field),
|
||||||
);
|
);
|
||||||
|
|
||||||
let type_name = item_attrs.name().serialize_name();
|
let type_name = item_attrs.name().serialize_name();
|
||||||
@@ -210,7 +210,7 @@ fn serialize_struct(
|
|||||||
quote! {
|
quote! {
|
||||||
let #let_mut __serde_state = try!(_serializer.serialize_struct(#type_name, #len));
|
let #let_mut __serde_state = try!(_serializer.serialize_struct(#type_name, #len));
|
||||||
#(#serialize_fields)*
|
#(#serialize_fields)*
|
||||||
_serializer.serialize_struct_end(__serde_state)
|
_serde::ser::SerializeStruct::serialize_end(__serde_state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -373,7 +373,7 @@ fn serialize_tuple_variant(
|
|||||||
fields,
|
fields,
|
||||||
generics,
|
generics,
|
||||||
true,
|
true,
|
||||||
Ident::new("serialize_tuple_variant_elt"),
|
quote!(_serde::ser::SerializeTupleVariant::serialize_elem),
|
||||||
);
|
);
|
||||||
|
|
||||||
let len = serialize_stmts.len();
|
let len = serialize_stmts.len();
|
||||||
@@ -386,7 +386,7 @@ fn serialize_tuple_variant(
|
|||||||
#variant_name,
|
#variant_name,
|
||||||
#len));
|
#len));
|
||||||
#(#serialize_stmts)*
|
#(#serialize_stmts)*
|
||||||
_serializer.serialize_tuple_variant_end(__serde_state)
|
_serde::ser::SerializeTupleVariant::serialize_end(__serde_state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ fn serialize_struct_variant(
|
|||||||
fields,
|
fields,
|
||||||
generics,
|
generics,
|
||||||
true,
|
true,
|
||||||
Ident::new("serialize_struct_variant_elt"),
|
quote!(_serde::ser::SerializeStructVariant::serialize_field),
|
||||||
);
|
);
|
||||||
|
|
||||||
let item_name = item_attrs.name().serialize_name();
|
let item_name = item_attrs.name().serialize_name();
|
||||||
@@ -433,7 +433,7 @@ fn serialize_struct_variant(
|
|||||||
#len,
|
#len,
|
||||||
));
|
));
|
||||||
#(#serialize_fields)*
|
#(#serialize_fields)*
|
||||||
_serializer.serialize_struct_variant_end(__serde_state)
|
_serde::ser::SerializeStructVariant::serialize_end(__serde_state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -442,7 +442,7 @@ fn serialize_tuple_struct_visitor(
|
|||||||
fields: &[Field],
|
fields: &[Field],
|
||||||
generics: &syn::Generics,
|
generics: &syn::Generics,
|
||||||
is_enum: bool,
|
is_enum: bool,
|
||||||
func: syn::Ident,
|
func: Tokens,
|
||||||
) -> Vec<Tokens> {
|
) -> Vec<Tokens> {
|
||||||
fields.iter()
|
fields.iter()
|
||||||
.enumerate()
|
.enumerate()
|
||||||
@@ -464,7 +464,7 @@ fn serialize_tuple_struct_visitor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let ser = quote! {
|
let ser = quote! {
|
||||||
try!(_serializer.#func(&mut __serde_state, #field_expr));
|
try!(#func(&mut __serde_state, #field_expr));
|
||||||
};
|
};
|
||||||
|
|
||||||
match skip {
|
match skip {
|
||||||
@@ -480,7 +480,7 @@ fn serialize_struct_visitor(
|
|||||||
fields: &[Field],
|
fields: &[Field],
|
||||||
generics: &syn::Generics,
|
generics: &syn::Generics,
|
||||||
is_enum: bool,
|
is_enum: bool,
|
||||||
func: syn::Ident,
|
func: Tokens,
|
||||||
) -> Vec<Tokens> {
|
) -> Vec<Tokens> {
|
||||||
fields.iter()
|
fields.iter()
|
||||||
.filter(|&field| !field.attrs.skip_serializing())
|
.filter(|&field| !field.attrs.skip_serializing())
|
||||||
@@ -503,7 +503,7 @@ fn serialize_struct_visitor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let ser = quote! {
|
let ser = quote! {
|
||||||
try!(_serializer.#func(&mut __serde_state, #key_expr, #field_expr));
|
try!(#func(&mut __serde_state, #key_expr, #field_expr));
|
||||||
};
|
};
|
||||||
|
|
||||||
match skip {
|
match skip {
|
||||||
@@ -541,7 +541,7 @@ fn wrap_serialize_with(
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl #wrapper_generics _serde::Serialize for #wrapper_ty #where_clause {
|
impl #wrapper_generics _serde::Serialize for #wrapper_ty #where_clause {
|
||||||
fn serialize<__S>(&self, __s: &mut __S) -> ::std::result::Result<(), __S::Error>
|
fn serialize<__S>(&self, __s: __S) -> ::std::result::Result<__S::Ok, __S::Error>
|
||||||
where __S: _serde::Serializer
|
where __S: _serde::Serializer
|
||||||
{
|
{
|
||||||
#path(self.value, __s)
|
#path(self.value, __s)
|
||||||
@@ -558,7 +558,7 @@ fn wrap_serialize_with(
|
|||||||
// Serialization of an empty struct results in code like:
|
// Serialization of an empty struct results in code like:
|
||||||
//
|
//
|
||||||
// let mut __serde_state = try!(serializer.serialize_struct("S", 0));
|
// let mut __serde_state = try!(serializer.serialize_struct("S", 0));
|
||||||
// serializer.serialize_struct_end(__serde_state)
|
// _serde::ser::SerializeStruct::serialize_end(__serde_state)
|
||||||
//
|
//
|
||||||
// where we want to omit the `mut` to avoid a warning.
|
// where we want to omit the `mut` to avoid a warning.
|
||||||
fn mut_if(is_mut: bool) -> Option<Tokens> {
|
fn mut_if(is_mut: bool) -> Option<Tokens> {
|
||||||
|
|||||||
Reference in New Issue
Block a user