diff --git a/yaserde_derive/src/ser/expand_struct.rs b/yaserde_derive/src/ser/expand_struct.rs index 358b7bd..9da7873 100644 --- a/yaserde_derive/src/ser/expand_struct.rs +++ b/yaserde_derive/src/ser/expand_struct.rs @@ -411,22 +411,24 @@ pub fn serialize( } } -fn build_label_name(field: &syn::Field, field_attrs: &YaSerdeAttribute, default_namespace: &Option) -> String { - let prefix = - if default_namespace == &field_attrs.prefix { - "".to_string() - } else { - field_attrs - .prefix - .clone() - .map_or("".to_string(), |prefix| prefix + ":") - }; - - let label = +fn build_label_name( + field: &syn::Field, + field_attrs: &YaSerdeAttribute, + default_namespace: &Option, +) -> String { + let prefix = if default_namespace == &field_attrs.prefix { + "".to_string() + } else { field_attrs - .rename + .prefix .clone() - .unwrap_or_else(|| field.ident.as_ref().unwrap().to_string()); + .map_or("".to_string(), |prefix| prefix + ":") + }; + + let label = field_attrs + .rename + .clone() + .unwrap_or_else(|| field.ident.as_ref().unwrap().to_string()); format!("{}{}", prefix, label) } diff --git a/yaserde_derive/src/ser/mod.rs b/yaserde_derive/src/ser/mod.rs index 69776ba..4aa2002 100644 --- a/yaserde_derive/src/ser/mod.rs +++ b/yaserde_derive/src/ser/mod.rs @@ -15,12 +15,13 @@ pub fn expand_derive_serialize(ast: &syn::DeriveInput) -> Result