summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ser/value.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ser/value.rs b/src/ser/value.rs
index 39d3af0..7a2ac42 100644
--- a/src/ser/value.rs
+++ b/src/ser/value.rs
@@ -158,13 +158,17 @@ impl<'key, 'target, Target> Serializer
}
fn serialize_none(&mut self) -> Result<(), Error> {
- Err(Error::unsupported_value())
+ if let Some(_) = self.key.take() {
+ Ok(())
+ } else {
+ Err(Error::no_key())
+ }
}
- fn serialize_some<T>(&mut self, _value: T) -> Result<(), Error>
+ fn serialize_some<T>(&mut self, value: T) -> Result<(), Error>
where T: Serialize
{
- Err(Error::unsupported_value())
+ value.serialize(self)
}
fn serialize_seq(&mut self, _len: Option<usize>) -> Result<(), Error> {