From 73a46d6b21449165e4921640671c92f80dd78eaa Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 15 May 2020 11:45:16 +0200 Subject: [PATCH] Revert 'impl Sink for `&mut ValueSink` instead of for `ValueSink`' This reverts commit 2032fc2, which was never actually necessary --- src/urlencoded/ser.rs | 12 ++++++------ src/urlencoded/ser/pair.rs | 4 ++-- src/urlencoded/ser/value.rs | 13 ++++++++----- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/urlencoded/ser.rs b/src/urlencoded/ser.rs index 9e6c5846..874c6b08 100644 --- a/src/urlencoded/ser.rs +++ b/src/urlencoded/ser.rs @@ -465,8 +465,8 @@ where value: &V, ) -> Result<(), Error> { let key_sink = key::KeySink::new(|key| { - let mut value_sink = value::ValueSink::new(self.urlencoder, &key); - value.serialize(part::PartSerializer::new(&mut value_sink))?; + let value_sink = value::ValueSink::new(self.urlencoder, &key); + value.serialize(part::PartSerializer::new(value_sink))?; self.key = None; Ok(()) }); @@ -490,8 +490,8 @@ where ) -> Result<(), Error> { { let key = self.key.as_ref().ok_or_else(Error::no_key)?; - let mut value_sink = value::ValueSink::new(self.urlencoder, &key); - value.serialize(part::PartSerializer::new(&mut value_sink))?; + let value_sink = value::ValueSink::new(self.urlencoder, &key); + value.serialize(part::PartSerializer::new(value_sink))?; } self.key = None; Ok(()) @@ -515,8 +515,8 @@ where key: &'static str, value: &T, ) -> Result<(), Error> { - let mut value_sink = value::ValueSink::new(self.urlencoder, key); - value.serialize(part::PartSerializer::new(&mut value_sink)) + let value_sink = value::ValueSink::new(self.urlencoder, key); + value.serialize(part::PartSerializer::new(value_sink)) } fn end(self) -> Result { diff --git a/src/urlencoded/ser/pair.rs b/src/urlencoded/ser/pair.rs index c12c404e..5e991968 100644 --- a/src/urlencoded/ser/pair.rs +++ b/src/urlencoded/ser/pair.rs @@ -225,8 +225,8 @@ where } PairState::WaitingForValue { key } => { let result = { - let mut value_sink = ValueSink::new(self.urlencoder, &key); - let value_serializer = PartSerializer::new(&mut value_sink); + let value_sink = ValueSink::new(self.urlencoder, &key); + let value_serializer = PartSerializer::new(value_sink); value.serialize(value_serializer) }; if result.is_ok() { diff --git a/src/urlencoded/ser/value.rs b/src/urlencoded/ser/value.rs index 200e354b..f0b3a07e 100644 --- a/src/urlencoded/ser/value.rs +++ b/src/urlencoded/ser/value.rs @@ -30,8 +30,8 @@ where } } -impl<'a, 'input, 'key, 'target, Target> Sink - for &'a mut ValueSink<'input, 'key, 'target, Target> +impl<'input, 'key, 'target, Target> Sink + for ValueSink<'input, 'key, 'target, Target> where Target: 'target + UrlEncodedTarget, { @@ -71,8 +71,8 @@ where } } -impl<'a, 'input, 'key, 'target, Target> ser::SerializeSeq - for &'a mut ValueSink<'input, 'key, 'target, Target> +impl<'input, 'key, 'target, Target> ser::SerializeSeq + for ValueSink<'input, 'key, 'target, Target> where Target: 'target + UrlEncodedTarget, { @@ -86,7 +86,10 @@ where where T: ser::Serialize, { - value.serialize(PartSerializer::new(&mut **self)) + value.serialize(PartSerializer::new(ValueSink { + urlencoder: self.urlencoder, + key: self.key, + })) } fn end(self) -> Result {