From 95f958ef39fc2d4d33426efd08fcef873d5295c7 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sat, 3 Aug 2024 11:08:30 +0100 Subject: [PATCH] Fix new clippy lints --- crates/bencode/src/serde_bencode_ser.rs | 36 +++++++++++-------------- crates/librqbit/src/read_buf.rs | 1 + 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/crates/bencode/src/serde_bencode_ser.rs b/crates/bencode/src/serde_bencode_ser.rs index 71357c7..78202ea 100644 --- a/crates/bencode/src/serde_bencode_ser.rs +++ b/crates/bencode/src/serde_bencode_ser.rs @@ -102,9 +102,9 @@ impl<'ser, W: std::io::Write> serde::ser::SerializeSeq for SerializeSeq<'ser, W> type Error = SerError; - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { value.serialize(&mut *self.ser) } @@ -122,9 +122,9 @@ impl<'ser, W: std::io::Write> serde::ser::SerializeTuple for SerializeTuple<'ser type Error = SerError; - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { value.serialize(&mut *self.ser) } @@ -144,9 +144,9 @@ impl<'ser, W: std::io::Write> serde::ser::SerializeMap for SerializeMap<'ser, W> type Error = SerError; - fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> + fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { let mut buf = Vec::new(); let mut ser = BencodeSerializer::new(&mut buf); @@ -157,9 +157,9 @@ impl<'ser, W: std::io::Write> serde::ser::SerializeMap for SerializeMap<'ser, W> // key.serialize(&mut *self.ser); } - fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { let mut buf = Vec::new(); let mut ser = BencodeSerializer::new(&mut buf); @@ -187,13 +187,9 @@ impl<'ser, W: std::io::Write> serde::ser::SerializeStruct for SerializeStruct<'s type Error = SerError; - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), Self::Error> + fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<(), Self::Error> where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { let mut buf = Vec::new(); let mut ser = BencodeSerializer::new(&mut buf); @@ -297,9 +293,9 @@ impl<'ser, W: std::io::Write> Serializer for &'ser mut BencodeSerializer { )) } - fn serialize_some(self, value: &T) -> Result + fn serialize_some(self, value: &T) -> Result where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { value.serialize(self) } @@ -330,13 +326,13 @@ impl<'ser, W: std::io::Write> Serializer for &'ser mut BencodeSerializer { )) } - fn serialize_newtype_struct( + fn serialize_newtype_struct( self, _name: &'static str, _value: &T, ) -> Result where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { Err(SerError::custom_with_ser( "bencode doesn't support newtype structs", @@ -344,7 +340,7 @@ impl<'ser, W: std::io::Write> Serializer for &'ser mut BencodeSerializer { )) } - fn serialize_newtype_variant( + fn serialize_newtype_variant( self, _name: &'static str, _variant_index: u32, @@ -352,7 +348,7 @@ impl<'ser, W: std::io::Write> Serializer for &'ser mut BencodeSerializer { _value: &T, ) -> Result where - T: serde::Serialize, + T: ?Sized + serde::Serialize, { Err(SerError::custom_with_ser( "bencode doesn't support newtype variants", diff --git a/crates/librqbit/src/read_buf.rs b/crates/librqbit/src/read_buf.rs index 71c6e66..2d57007 100644 --- a/crates/librqbit/src/read_buf.rs +++ b/crates/librqbit/src/read_buf.rs @@ -77,6 +77,7 @@ impl ReadBuf { self.processed += size; // Rust's borrow checker can't do this early return so resort to unsafe. + #[allow(clippy::missing_transmute_annotations)] let msg = unsafe { std::mem::transmute(msg) }; return Ok(msg); }