mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-22 13:47:58 +00:00
Merge pull request #2266 from flisky/master
fix: don't check skipped variant with internal tag
This commit is contained in:
@@ -2260,6 +2260,37 @@ fn test_externally_tagged_enum_containing_flatten() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_internally_tagged_enum_with_skipped_conflict() {
|
||||
#[derive(Serialize, Deserialize, PartialEq, Debug)]
|
||||
#[serde(tag = "t")]
|
||||
enum Data {
|
||||
A,
|
||||
#[serde(skip)]
|
||||
B {
|
||||
t: String
|
||||
},
|
||||
C {
|
||||
#[serde(default, skip)]
|
||||
t: String
|
||||
},
|
||||
}
|
||||
|
||||
let _data = Data::B { t: "".to_string() };
|
||||
|
||||
let data = Data::C { t: "".to_string() };
|
||||
|
||||
assert_tokens(
|
||||
&data,
|
||||
&[
|
||||
Token::Struct { name: "Data", len: 1 },
|
||||
Token::Str("t"),
|
||||
Token::Str("C"),
|
||||
Token::StructEnd,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_internally_tagged_enum_containing_flatten() {
|
||||
#[derive(Serialize, Deserialize, PartialEq, Debug)]
|
||||
|
||||
Reference in New Issue
Block a user