Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.
/ merde Public archive

Commit 6a86b8c

Browse files
Allow empty structs
1 parent f0c4479 commit 6a86b8c

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

merde/examples/simple.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,9 @@ struct Person<'s> {
6060
merde::derive! {
6161
impl (Serialize, Deserialize) for struct Person<'s> { name, age, address }
6262
}
63+
64+
struct Empty {}
65+
66+
merde::derive! {
67+
impl (Serialize, Deserialize) for struct Empty {}
68+
}

merde/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ macro_rules! impl_deserialize {
6060

6161
$(
6262
let mut $field = $crate::none_of(|i: $struct_name| i.$field);
63-
)+
63+
)*
6464

6565
loop {
6666
match __de.next().await? {
@@ -96,7 +96,7 @@ macro_rules! impl_deserialize {
9696
__opinions.default_field_value(stringify!($field), __slot);
9797
}
9898
$crate::Deserialize::from_option($field, stringify!($field).into())?
99-
},)+
99+
},)*
100100
})
101101
}
102102
}
@@ -514,7 +514,7 @@ macro_rules! impl_serialize {
514514
$(
515515
serializer.write($crate::Event::Str($crate::CowStr::Borrowed(stringify!($field)))).await?;
516516
self.$field.serialize(serializer).await?;
517-
)+
517+
)*
518518
serializer.write($crate::Event::MapEnd).await
519519
}
520520
}
@@ -545,7 +545,7 @@ macro_rules! impl_serialize {
545545
serializer.write($crate::Event::Str($crate::CowStr::Borrowed($variant_str))).await?;
546546
value.serialize(serializer).await?;
547547
}
548-
)+
548+
)*
549549
}
550550

551551
serializer.write($crate::Event::MapEnd).await

0 commit comments

Comments
 (0)