diff --git a/src/ser/mod.rs b/src/ser/mod.rs index 633f1faa..18687192 100644 --- a/src/ser/mod.rs +++ b/src/ser/mod.rs @@ -227,12 +227,12 @@ where Err(Error::top_level()) } - /// Returns an error. + /// Returns `Ok`. fn serialize_unit_struct( self, _name: &'static str, ) -> Result { - Err(Error::top_level()) + Ok(self.urlencoder) } /// Returns an error. diff --git a/tests/test_serialize.rs b/tests/test_serialize.rs index 6f99cba6..b0276d2e 100644 --- a/tests/test_serialize.rs +++ b/tests/test_serialize.rs @@ -73,3 +73,11 @@ fn serialize_unit_enum() { Ok("one=A&two=B&three=C".to_owned()) ); } + +#[derive(Serialize)] +struct Unit; + +#[test] +fn serialize_unit_struct() { + assert_eq!(serde_urlencoded::to_string(Unit), Ok("".to_owned())); +}