Serialize and deserialize a tagged newtype variant over unit () as if it was a unit variant.

This commit is contained in:
Tage Johansson
2022-10-21 00:27:46 +02:00
parent 55cf0ac51a
commit 90d28fc314
3 changed files with 42 additions and 3 deletions
+28
View File
@@ -2302,6 +2302,34 @@ fn test_internally_tagged_enum_containing_flatten() {
);
}
#[test]
fn test_internally_tagged_enum_new_type_with_unit() {
#[derive(Serialize, Deserialize, PartialEq, Debug)]
#[serde(tag = "t")]
enum Data {
A(()),
}
assert_tokens(
&Data::A(()),
&[
Token::Map { len: Some(1) },
Token::Str("t"),
Token::Str("A"),
Token::MapEnd,
],
);
assert_ser_tokens(
&Data::A(()),
&[
Token::Map { len: Some(1) },
Token::Str("t"),
Token::Str("A"),
Token::MapEnd,
],
);
}
#[test]
fn test_adjacently_tagged_enum_containing_flatten() {
#[derive(Serialize, Deserialize, PartialEq, Debug)]