Store flatten flag in container attributes

This commit is contained in:
Jan Michael Auer authored and Armin Ronacher committed 2018-03-16 23:05:47 +01:00
1 parent 571bb8caed
commit 5ae06bba49
3 files changed
+17 -7

No files matched your search

+2 -6
View File
@@ -286,7 +286,7 @@ fn serialize_struct_as_struct(params: &Parameters, fields: &[Field], cattrs: &at
}
}
fn serialize_struct_as_map(params: &Parameters, fields: &[Field], _cattrs: &attr::Container) -> Fragment {
fn serialize_struct_as_map(params: &Parameters, fields: &[Field], cattrs: &attr::Container) -> Fragment {
let serialize_fields = serialize_struct_visitor(
fields,
params,
@@ -301,11 +301,7 @@ fn serialize_struct_as_map(params: &Parameters, fields: &[Field], _cattrs: &attr
let let_mut = mut_if(serialized_fields.peek().is_some());
let has_flatten = fields
.iter()
.any(|field| field.attrs.flatten());
let len = if has_flatten {
let len = if cattrs.has_flatten() {
quote!(None)
} else {
let len = serialized_fields