Correctly process flatten fields in enum variants

- Fix incorrect deserialization of variants that doesn't contain flatten field when other contains
- Fix a panic when deriving `Deserialize` for an enum with tuple and struct with flatten field

Fixes (2):
    regression::issue2565::simple_variant
    regression::issue1904 (compilation)
This commit is contained in:
Mingun
2023-07-24 00:57:47 +05:00
parent c3ac7b675a
commit b4ec2595c9
3 changed files with 97 additions and 31 deletions
+1
View File
@@ -85,6 +85,7 @@ impl<'a> Container<'a> {
for field in &mut variant.fields {
if field.attrs.flatten() {
has_flatten = true;
variant.attrs.mark_has_flatten();
}
field.attrs.rename_by_rules(
variant