diff --git a/src/ser/mod.rs b/src/ser/mod.rs index a600552b..4e21fb8d 100644 --- a/src/ser/mod.rs +++ b/src/ser/mod.rs @@ -230,9 +230,9 @@ where Err(Error::top_level()) } - /// Returns an error. + /// Returns `Ok`. fn serialize_unit(self) -> Result { - Err(Error::top_level()) + Ok(self.urlencoder) } /// Returns `Ok`. diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs index 69105995..bb276217 100644 --- a/tests/test_deserialize.rs +++ b/tests/test_deserialize.rs @@ -83,3 +83,8 @@ fn deserialize_unit_enum() { Ok(result) ); } + +#[test] +fn deserialize_unit_type() { + assert_eq!(serde_urlencoded::from_str(""), Ok(())); +} diff --git a/tests/test_serialize.rs b/tests/test_serialize.rs index b0276d2e..60c6ff74 100644 --- a/tests/test_serialize.rs +++ b/tests/test_serialize.rs @@ -81,3 +81,8 @@ struct Unit; fn serialize_unit_struct() { assert_eq!(serde_urlencoded::to_string(Unit), Ok("".to_owned())); } + +#[test] +fn serialize_unit_type() { + assert_eq!(serde_urlencoded::to_string(()), Ok("".to_owned())); +}