diff --git a/src/de/mod.rs b/src/de/mod.rs index 1919cfcd..3b8c6bac 100644 --- a/src/de/mod.rs +++ b/src/de/mod.rs @@ -444,20 +444,20 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Deserializer<'de> { } } - /// Unsupported - fn deserialize_bytes(self, _visitor: V) -> Result - where - V: Visitor<'de>, + fn deserialize_bytes(self, visitor: V) -> Result + where + V: Visitor<'de>, { - unreachable!() + self.index = self.slice.len(); + visitor.visit_bytes(self.slice) } - /// Unsupported - fn deserialize_byte_buf(self, _visitor: V) -> Result - where - V: Visitor<'de>, + fn deserialize_byte_buf(self, visitor: V) -> Result + where + V: Visitor<'de>, { - unreachable!() + self.index = self.slice.len(); + visitor.visit_byte_buf(self.slice.to_vec()) } fn deserialize_option(self, visitor: V) -> Result