Merge pull request #111 from oli-obk/master

tuple enums with single element should not be a json-array
This commit is contained in:
Erick Tryzelaar
2015-07-29 13:35:43 -07:00
12 changed files with 190 additions and 96 deletions
+19 -1
View File
@@ -296,7 +296,25 @@ fn serialize_variant(
)
}
)
}
},
ast::TupleVariantKind(ref args) if args.len() == 1 => {
let field = builder.id("__simple_value");
let field = builder.pat().ref_id(field);
let pat = builder.pat().enum_()
.id(type_ident).id(variant_ident).build()
.with_pats(Some(field).into_iter())
.build();
quote_arm!(cx,
$pat => {
::serde::ser::Serializer::visit_enum_simple(
serializer,
$type_name,
$variant_name,
__simple_value,
)
}
)
},
ast::TupleVariantKind(ref args) => {
let fields: Vec<ast::Ident> = (0 .. args.len())
.map(|i| builder.id(format!("__field{}", i)))