From f639279e3ea7c87ed418bb46e0f65f2017f6c19f Mon Sep 17 00:00:00 2001 From: Matthias Endler Date: Thu, 15 Sep 2016 00:24:52 +0200 Subject: Add support for option parameters --- src/ser/value.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') 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(&mut self, _value: T) -> Result<(), Error> + fn serialize_some(&mut self, value: T) -> Result<(), Error> where T: Serialize { - Err(Error::unsupported_value()) + value.serialize(self) } fn serialize_seq(&mut self, _len: Option) -> Result<(), Error> { -- cgit v1.2.3