Skip to content

Commit bda99b5

Browse files
authored
Merge pull request #1376 from zeenix/fix-serialize-dict-empty-struct
🚑️ zd: Fix use of empty structs with SerializeDict
2 parents 32f3a31 + d3b8585 commit bda99b5

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

zvariant/tests/dict_value.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,4 +231,8 @@ fn dict_value() {
231231
let decoded = encoded.deserialize::<TestDenyUnknown>();
232232
assert!(decoded.is_err());
233233
}
234+
235+
#[derive(Default, Debug, SerializeDict, DeserializeDict, Type)]
236+
#[zvariant(signature = "dict")]
237+
struct TestEmpty {}
234238
}

zvariant_derive/src/dict.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,13 @@ pub fn expand_serialize_derive(input: DeriveInput) -> Result<TokenStream, Error>
6969
#[derive(Serialize)]
7070
#[serde(rename_all = #rename_all_str)]
7171
struct #helper<'a> {
72+
#[serde(skip)]
73+
phantom: ::std::marker::PhantomData<&'a ()>,
7274
#(#field_defs,)*
7375
}
7476

7577
let helper = #helper {
78+
phantom: ::std::marker::PhantomData,
7679
#(#field_inits,)*
7780
};
7881

0 commit comments

Comments
 (0)