From 9b078889f88b6209176061518f50f1bc078318af Mon Sep 17 00:00:00 2001 From: lovasoa Date: Sat, 6 Apr 2024 21:52:34 +0200 Subject: [PATCH] null parsing --- src/de.rs | 11 +++++++++-- src/json.rs | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/de.rs b/src/de.rs index 378a312..d8e860e 100644 --- a/src/de.rs +++ b/src/de.rs @@ -309,11 +309,13 @@ impl<'de, 'a, R: Read> de::Deserializer<'de> for &'a mut Deserializer { todo!() } - fn deserialize_unit(self, _visitor: V) -> Result + fn deserialize_unit(self, visitor: V) -> Result where V: Visitor<'de>, { - todo!() + let header = self.read_header()?; + self.read_null(header)?; + visitor.visit_unit() } fn deserialize_unit_struct( @@ -555,4 +557,9 @@ mod tests { -9223372036854775808 ); } + + #[test] + fn test_null() { + from_bytes::<()>(b"\x00").unwrap(); + } } diff --git a/src/json.rs b/src/json.rs index e8ba3e7..b616e25 100644 --- a/src/json.rs +++ b/src/json.rs @@ -20,7 +20,7 @@ pub(crate) fn parse_json5(_input: I) -> crate::Result { pub(crate) type Json5Error = serde_json5::Error; #[cfg(not(feature = "serde_json5"))] #[derive(Debug)] -pub(crate) struct Json5Error; +pub struct Json5Error; #[cfg(not(feature = "serde_json5"))] impl std::fmt::Display for Json5Error {