diff --git a/coverage_config_x86_64.json b/coverage_config_x86_64.json index 578ebe3..b5e98b8 100644 --- a/coverage_config_x86_64.json +++ b/coverage_config_x86_64.json @@ -1,5 +1,5 @@ { - "coverage_score": 78.57, + "coverage_score": 81.25, "exclude_path": ".*bindings\\.rs", "crate_features": "fam-wrappers,serde" } diff --git a/src/serialize.rs b/src/serialize.rs index 16cb1d7..75c6851 100644 --- a/src/serialize.rs +++ b/src/serialize.rs @@ -42,6 +42,18 @@ macro_rules! serde_impls { backing[..limit].copy_from_slice(&bytes[..limit]); Ok(backing) } + + fn visit_seq>(self, mut seq: A) -> Result { + let mut backing = [0u8; std::mem::size_of::<$typ>()]; + + for backing_byte in &mut backing { + let Some(byte) = seq.next_element()? else { break }; + + *backing_byte = byte; + } + + Ok(backing) + } } let backing = deserializer.deserialize_bytes(BytesVisitor)?;