Skip to content

Commit 005cb84

Browse files
committed
Fail with an understandable message is number of fields for serialization is too many
1 parent fd5b5e9 commit 005cb84

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

serde_derive/src/ser.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,13 @@ fn serialize_tuple_struct(
289289
}
290290

291291
fn serialize_struct(params: &Parameters, fields: &[Field], cattrs: &attr::Container) -> Fragment {
292-
assert!(fields.len() as u64 <= u64::from(u32::MAX));
292+
assert!(
293+
fields.len() as u64 <= u64::from(u32::MAX),
294+
"too many fields in {}: {}, maximum supported count is {}",
295+
cattrs.name().serialize_name(),
296+
fields.len(),
297+
u32::MAX
298+
);
293299

294300
if cattrs.has_flatten() {
295301
serialize_struct_as_map(params, fields, cattrs)

0 commit comments

Comments
 (0)