From 99ef71ac2ebb323352c0a61ca3ff932651ab42b1 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Tue, 23 Jul 2019 18:34:37 +0200 Subject: [PATCH 1/2] Update the url crate to 2.0 --- Cargo.toml | 4 ++-- src/ser/mod.rs | 34 +++++++++++++++++----------------- src/ser/pair.rs | 4 ++-- src/ser/value.rs | 4 ++-- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ca63e5c0..0ffeac31 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde_urlencoded" -version = "0.5.5" +version = "0.5.6" authors = ["Anthony Ramine "] license = "MIT/Apache-2.0" repository = "https://github.com/nox/serde_urlencoded" @@ -19,7 +19,7 @@ test = false dtoa = "0.4.0" itoa = "0.4.0" serde = "1.0.0" -url = "1.0.0" +url = "2.0.0" [dev-dependencies] serde_derive = "1.0" diff --git a/src/ser/mod.rs b/src/ser/mod.rs index 633f1faa..c95a321c 100644 --- a/src/ser/mod.rs +++ b/src/ser/mod.rs @@ -43,12 +43,12 @@ pub fn to_string(input: T) -> Result { /// /// * Newtype structs defer to their inner values. pub struct Serializer<'output, Target: 'output + UrlEncodedTarget> { - urlencoder: &'output mut UrlEncodedSerializer, + urlencoder: &'output mut UrlEncodedSerializer<'static, Target>, } impl<'output, Target: 'output + UrlEncodedTarget> Serializer<'output, Target> { /// Returns a new `Serializer`. - pub fn new(urlencoder: &'output mut UrlEncodedSerializer) -> Self { + pub fn new(urlencoder: &'output mut UrlEncodedSerializer<'static, Target>) -> Self { Serializer { urlencoder: urlencoder, } @@ -96,53 +96,53 @@ impl ser::Error for Error { /// Sequence serializer. pub struct SeqSerializer<'output, Target: 'output + UrlEncodedTarget> { - urlencoder: &'output mut UrlEncodedSerializer, + urlencoder: &'output mut UrlEncodedSerializer<'static, Target>, } /// Tuple serializer. /// /// Mostly used for arrays. pub struct TupleSerializer<'output, Target: 'output + UrlEncodedTarget> { - urlencoder: &'output mut UrlEncodedSerializer, + urlencoder: &'output mut UrlEncodedSerializer<'static, Target>, } /// Tuple struct serializer. /// /// Never instantiated, tuple structs are not supported. pub struct TupleStructSerializer<'output, T: 'output + UrlEncodedTarget> { - inner: ser::Impossible<&'output mut UrlEncodedSerializer, Error>, + inner: ser::Impossible<&'output mut UrlEncodedSerializer<'static, T>, Error>, } /// Tuple variant serializer. /// /// Never instantiated, tuple variants are not supported. pub struct TupleVariantSerializer<'output, T: 'output + UrlEncodedTarget> { - inner: ser::Impossible<&'output mut UrlEncodedSerializer, Error>, + inner: ser::Impossible<&'output mut UrlEncodedSerializer<'static, T>, Error>, } /// Map serializer. pub struct MapSerializer<'output, Target: 'output + UrlEncodedTarget> { - urlencoder: &'output mut UrlEncodedSerializer, + urlencoder: &'output mut UrlEncodedSerializer<'static, Target>, key: Option>, } /// Struct serializer. pub struct StructSerializer<'output, Target: 'output + UrlEncodedTarget> { - urlencoder: &'output mut UrlEncodedSerializer, + urlencoder: &'output mut UrlEncodedSerializer<'static, Target>, } /// Struct variant serializer. /// /// Never instantiated, struct variants are not supported. pub struct StructVariantSerializer<'output, T: 'output + UrlEncodedTarget> { - inner: ser::Impossible<&'output mut UrlEncodedSerializer, Error>, + inner: ser::Impossible<&'output mut UrlEncodedSerializer<'static, T>, Error>, } impl<'output, Target> ser::Serializer for Serializer<'output, Target> where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; type SerializeSeq = SeqSerializer<'output, Target>; type SerializeTuple = TupleSerializer<'output, Target>; @@ -356,7 +356,7 @@ impl<'output, Target> ser::SerializeSeq for SeqSerializer<'output, Target> where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_element( @@ -375,7 +375,7 @@ impl<'output, Target> ser::SerializeTuple for TupleSerializer<'output, Target> where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_element( @@ -395,7 +395,7 @@ impl<'output, Target> ser::SerializeTupleStruct where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_field( @@ -415,7 +415,7 @@ impl<'output, Target> ser::SerializeTupleVariant where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_field( @@ -434,7 +434,7 @@ impl<'output, Target> ser::SerializeMap for MapSerializer<'output, Target> where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_entry< @@ -487,7 +487,7 @@ impl<'output, Target> ser::SerializeStruct for StructSerializer<'output, Target> where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_field( @@ -509,7 +509,7 @@ impl<'output, Target> ser::SerializeStructVariant where Target: 'output + UrlEncodedTarget, { - type Ok = &'output mut UrlEncodedSerializer; + type Ok = &'output mut UrlEncodedSerializer<'static, Target>; type Error = Error; fn serialize_field( diff --git a/src/ser/pair.rs b/src/ser/pair.rs index 6df2e3de..596698ef 100644 --- a/src/ser/pair.rs +++ b/src/ser/pair.rs @@ -9,7 +9,7 @@ use url::form_urlencoded::Serializer as UrlEncodedSerializer; use url::form_urlencoded::Target as UrlEncodedTarget; pub struct PairSerializer<'target, Target: 'target + UrlEncodedTarget> { - urlencoder: &'target mut UrlEncodedSerializer, + urlencoder: &'target mut UrlEncodedSerializer<'static, Target>, state: PairState, } @@ -17,7 +17,7 @@ impl<'target, Target> PairSerializer<'target, Target> where Target: 'target + UrlEncodedTarget, { - pub fn new(urlencoder: &'target mut UrlEncodedSerializer) -> Self { + pub fn new(urlencoder: &'target mut UrlEncodedSerializer<'static, Target>) -> Self { PairSerializer { urlencoder: urlencoder, state: PairState::WaitingForKey, diff --git a/src/ser/value.rs b/src/ser/value.rs index 13204d49..526a65bd 100644 --- a/src/ser/value.rs +++ b/src/ser/value.rs @@ -9,7 +9,7 @@ pub struct ValueSink<'key, 'target, Target> where Target: 'target + UrlEncodedTarget, { - urlencoder: &'target mut UrlEncodedSerializer, + urlencoder: &'target mut UrlEncodedSerializer<'static, Target>, key: &'key str, } @@ -18,7 +18,7 @@ where Target: 'target + UrlEncodedTarget, { pub fn new( - urlencoder: &'target mut UrlEncodedSerializer, + urlencoder: &'target mut UrlEncodedSerializer<'static, Target>, key: &'key str, ) -> Self { ValueSink { From 59f990aba4527e322d89384d8035b60dacb873bd Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Mon, 29 Jul 2019 10:19:29 +0200 Subject: [PATCH 2/2] url is a public dependency, so updating it to 2.0 is a breaking change --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 0ffeac31..63fdc1a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde_urlencoded" -version = "0.5.6" +version = "0.6.0" authors = ["Anthony Ramine "] license = "MIT/Apache-2.0" repository = "https://github.com/nox/serde_urlencoded"