diff --git a/Cargo.toml b/Cargo.toml index 1e388aa..0f1780d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,10 +13,10 @@ version = "0.13.0" rust-version = "1.61" [dependencies] -actix-web4 = { version = "4.0", optional = true, package = "actix-web", default-features = false } +actix-web4 = { version = "4.3", optional = true, package = "actix-web", default-features = false } actix-web3 = { version = "3.3", optional = true, package = "actix-web", default-features = false } futures = { version = "0.3", optional = true } -percent-encoding = "2.1" +percent-encoding = "2.3" serde = "1.0" thiserror = "1.0" tracing = { version = "0.1", optional = true } @@ -29,7 +29,7 @@ csv = "1.3" rand = "0.8" serde_derive = "1.0" serde_urlencoded = "0.7" -serde_with = "2.0" +serde_with = "2.3" [features] default = [] @@ -46,4 +46,4 @@ features = ["actix4", "warp"] [[example]] name = "csv_vectors" -test = true \ No newline at end of file +test = true diff --git a/examples/csv_vectors.rs b/examples/csv_vectors.rs index 9d5e0ea..2e44566 100644 --- a/examples/csv_vectors.rs +++ b/examples/csv_vectors.rs @@ -48,7 +48,7 @@ impl Default for CSVVecVisitor { } } -impl<'de, T: DeserializeOwned + std::str::FromStr> serde::de::Visitor<'de> for CSVVecVisitor +impl serde::de::Visitor<'_> for CSVVecVisitor where ::Err: std::fmt::Debug, // handle the parse error in a generic way { diff --git a/src/de/parse.rs b/src/de/parse.rs index a76f2c5..c2e72d5 100644 --- a/src/de/parse.rs +++ b/src/de/parse.rs @@ -184,7 +184,7 @@ impl<'a> Iterator for Parser<'a> { } } -impl<'a> Parser<'a> { +impl Parser<'_> { #[inline] fn peek(&mut self) -> Option<::Item> { if self.peeked.is_some() { diff --git a/src/ser.rs b/src/ser.rs index 5198d71..21b86fe 100644 --- a/src/ser.rs +++ b/src/ser.rs @@ -458,12 +458,12 @@ pub struct QsSeq<'a, W: 'a + Write>(QsSerializer<'a, W>, usize); #[doc(hidden)] pub struct QsMap<'a, W: 'a + Write>(QsSerializer<'a, W>, Option>); -impl<'a, W: Write> ser::SerializeTuple for QsSeq<'a, W> { +impl ser::SerializeTuple for QsSeq<'_, W> { type Ok = (); type Error = Error; - fn serialize_element(&mut self, value: &T) -> Result<()> + fn serialize_element(&mut self, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let key = self.1.to_string(); self.1 += 1; @@ -477,12 +477,12 @@ impl<'a, W: Write> ser::SerializeTuple for QsSeq<'a, W> { } } -impl<'a, W: Write> ser::SerializeSeq for QsSeq<'a, W> { +impl ser::SerializeSeq for QsSeq<'_, W> { type Ok = (); type Error = Error; - fn serialize_element(&mut self, value: &T) -> Result<()> + fn serialize_element(&mut self, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(&mut self.0); serializer.extend_key(&self.1.to_string()); @@ -494,12 +494,12 @@ impl<'a, W: Write> ser::SerializeSeq for QsSeq<'a, W> { } } -impl<'a, W: Write> ser::SerializeStruct for QsSerializer<'a, W> { +impl ser::SerializeStruct for QsSerializer<'_, W> { type Ok = (); type Error = Error; - fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> + fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(self); serializer.extend_key(key); @@ -510,13 +510,13 @@ impl<'a, W: Write> ser::SerializeStruct for QsSerializer<'a, W> { } } -impl<'a, W: Write> ser::SerializeStructVariant for QsSerializer<'a, W> { +impl ser::SerializeStructVariant for QsSerializer<'_, W> { type Ok = (); type Error = Error; - fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> + fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(self); serializer.extend_key(key); @@ -528,13 +528,13 @@ impl<'a, W: Write> ser::SerializeStructVariant for QsSerializer<'a, W> { } } -impl<'a, W: Write> ser::SerializeTupleVariant for QsSeq<'a, W> { +impl ser::SerializeTupleVariant for QsSeq<'_, W> { type Ok = (); type Error = Error; - fn serialize_field(&mut self, value: &T) -> Result<()> + fn serialize_field(&mut self, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(&mut self.0); serializer.extend_key(&self.1.to_string()); @@ -547,13 +547,13 @@ impl<'a, W: Write> ser::SerializeTupleVariant for QsSeq<'a, W> { } } -impl<'a, W: Write> ser::SerializeTupleStruct for QsSeq<'a, W> { +impl ser::SerializeTupleStruct for QsSeq<'_, W> { type Ok = (); type Error = Error; - fn serialize_field(&mut self, value: &T) -> Result<()> + fn serialize_field(&mut self, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(&mut self.0); serializer.extend_key(&self.1.to_string()); @@ -566,21 +566,21 @@ impl<'a, W: Write> ser::SerializeTupleStruct for QsSeq<'a, W> { } } -impl<'a, W: Write> ser::SerializeMap for QsMap<'a, W> { +impl ser::SerializeMap for QsMap<'_, W> { type Ok = (); type Error = Error; - fn serialize_key(&mut self, key: &T) -> Result<()> + fn serialize_key(&mut self, key: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { self.1 = Some(Cow::from(key.serialize(StringSerializer)?)); Ok(()) } - fn serialize_value(&mut self, value: &T) -> Result<()> + fn serialize_value(&mut self, value: &T) -> Result<()> where - T: ser::Serialize, + T: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(&mut self.0); if let Some(ref key) = self.1 { @@ -596,10 +596,10 @@ impl<'a, W: Write> ser::SerializeMap for QsMap<'a, W> { Ok(()) } - fn serialize_entry(&mut self, key: &K, value: &V) -> Result<()> + fn serialize_entry(&mut self, key: &K, value: &V) -> Result<()> where - K: ser::Serialize, - V: ser::Serialize, + K: ?Sized + ser::Serialize, + V: ?Sized + ser::Serialize, { let mut serializer = QsSerializer::new_from_ref(&mut self.0); serializer.extend_key(&key.serialize(StringSerializer)?);