diff --git a/src/serde/reader.rs b/src/serde/reader.rs index 353b13d..854262a 100644 --- a/src/serde/reader.rs +++ b/src/serde/reader.rs @@ -345,6 +345,14 @@ impl<'a, R: Read> serde::Deserializer for Deserializer<'a, R> { visitor.visit_seq(TupleVisitor(self)) } + fn deserialize_fixed_size_array(&mut self, + _: usize, + visitor: V) -> DeserializeResult + where V: serde::de::Visitor, + { + self.deserialize_seq(visitor) + } + fn deserialize_option(&mut self, mut visitor: V) -> DeserializeResult where V: serde::de::Visitor, { diff --git a/tests/test.rs b/tests/test.rs index 66d3a0b..f5f067c 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -215,6 +215,13 @@ fn test_unicode() { the_same("aåååååååa".to_string()); } +#[test] +fn test_fixed_size_array() { + the_same([24u32; 32]); + the_same([1u64, 2, 3, 4, 5, 6, 7, 8]); + the_same([0u8; 19]); +} + #[test] fn decoding_errors() { fn isize_invalid_encoding(res: bincode::rustc_serialize::DecodingResult) {