Support (de-)serializing flattened unit struct

Fixes #2801.
This commit is contained in:
Jon Gjengset
2024-08-15 15:50:40 +02:00
parent 1b4da41f97
commit 4036ff88ed
3 changed files with 38 additions and 6 deletions
+26
View File
@@ -1815,6 +1815,32 @@ fn test_flatten_unit() {
);
}
#[test]
fn test_flatten_unit_struct() {
#[derive(Debug, PartialEq, Serialize, Deserialize)]
struct Response<T> {
#[serde(flatten)]
data: T,
status: usize,
}
#[derive(Debug, PartialEq, Serialize, Deserialize)]
struct Unit;
assert_tokens(
&Response {
data: Unit,
status: 0,
},
&[
Token::Map { len: None },
Token::Str("status"),
Token::U64(0),
Token::MapEnd,
],
);
}
#[test]
fn test_flatten_unsupported_type() {
#[derive(Debug, PartialEq, Serialize, Deserialize)]