summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Endler <matthias.endler@trivago.com>2016-09-15 00:24:52 +0200
committerMatthias Endler <matthias.endler@trivago.com>2016-09-18 19:15:03 +0200
commitf639279e3ea7c87ed418bb46e0f65f2017f6c19f (patch)
tree57a06b51afe37a5d86794c7725c9f43aed294b12 /src
parent042a5eb0779dc38d3db3166ba997d4662ed6f5e7 (diff)
Add support for option parameters
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> {