diff --git a/src/const_generics.rs b/src/const_generics.rs index 7f37c83..789cbea 100644 --- a/src/const_generics.rs +++ b/src/const_generics.rs @@ -24,14 +24,14 @@ impl<'de, T, const N: usize> BigArray<'de> for [T; N] seq.end() } - fn deserialize(deserializer: D) -> result::Result<[T; N], D::Error> + fn deserialize(deserializer: D) -> result::Result where D: Deserializer<'de> { struct ArrayVisitor { element: PhantomData, } - impl<'de, T> Visitor<'de> for ArrayVisitor + impl<'de, T, const N: usize> Visitor<'de> for ArrayVisitor<[T; N]> where T: Default + Copy + Deserialize<'de> { type Value = [T; N]; @@ -59,7 +59,7 @@ impl<'de, T, const N: usize> BigArray<'de> for [T; N] fn visit_seq(self, mut seq: A) -> result::Result<[T; N], A::Error> where A: SeqAccess<'de> { - let mut arr = [T::default(); N]; + let mut arr: [T; N] = [T::default(); N]; for i in 0..N { arr[i] = seq.next_element()? .ok_or_else(|| Error::invalid_length(i, &self))?;