diff --git a/.github/workflows/cross_platform.yml b/.github/workflows/cross_platform.yml index d0644248..c7a4ca04 100644 --- a/.github/workflows/cross_platform.yml +++ b/.github/workflows/cross_platform.yml @@ -25,13 +25,26 @@ "platform": [ # Tier 1 "aarch64-unknown-linux-gnu", - "i686-pc-windows-gnu", + # 0050:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. + # 0050:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. + # 0050:err:systray:initialize_systray Could not create tray window + # 0024:err:module:import_dll Library bcryptprimitives.dll (which is needed by L"Z:\\target\\i686-pc-windows-gnu\\debug\\deps\\bincode-569310bd32491256.exe") not found + # 0024:err:module:LdrInitializeThunk Importing dlls for L"Z:\\target\\i686-pc-windows-gnu\\debug\\deps\\bincode-569310bd32491256.exe" failed, status c0000135 + # "i686-pc-windows-gnu", + # `cross` does not provide a Docker image for target i686-pc-windows-msvc # "i686-pc-windows-msvc", "i686-unknown-linux-gnu", # `cross` does not provide a Docker image for target x86_64-apple-darwin # "x86_64-apple-darwin", - "x86_64-pc-windows-gnu", + + # 0050:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. + # 0050:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly. + # 0050:err:systray:initialize_systray Could not create tray window + # 00f4:err:module:import_dll Library bcryptprimitives.dll (which is needed by L"Z:\\target\\x86_64-pc-windows-gnu\\debug\\deps\\bincode-b91af23bf3efc9f3.exe") not found + # 00f4:err:module:LdrInitializeThunk Importing dlls for L"Z:\\target\\x86_64-pc-windows-gnu\\debug\\deps\\bincode-b91af23bf3efc9f3.exe" failed, status c0000135 + # "x86_64-pc-windows-gnu", + # `cross` does not provide a Docker image for target x86_64-pc-windows-msvc # "x86_64-pc-windows-msvc", "x86_64-unknown-linux-gnu", diff --git a/src/features/serde/ser.rs b/src/features/serde/ser.rs index edb122d9..ed225017 100644 --- a/src/features/serde/ser.rs +++ b/src/features/serde/ser.rs @@ -167,9 +167,9 @@ where 0u8.encode(self.enc) } - fn serialize_some(mut self, value: &T) -> Result + fn serialize_some(mut self, value: &T) -> Result where - T: Serialize, + T: Serialize + ?Sized, { 1u8.encode(&mut self.enc)?; value.serialize(self) @@ -192,18 +192,18 @@ where variant_index.encode(self.enc) } - fn serialize_newtype_struct( + fn serialize_newtype_struct( self, _name: &'static str, value: &T, ) -> Result where - T: Serialize, + T: Serialize + ?Sized, { value.serialize(self) } - fn serialize_newtype_variant( + fn serialize_newtype_variant( mut self, _name: &'static str, variant_index: u32, @@ -211,7 +211,7 @@ where value: &T, ) -> Result where - T: Serialize, + T: Serialize + ?Sized, { variant_index.encode(&mut self.enc)?; value.serialize(self) @@ -272,9 +272,9 @@ where } #[cfg(not(feature = "alloc"))] - fn collect_str(self, _: &T) -> Result + fn collect_str(self, _: &T) -> Result where - T: core::fmt::Display, + T: core::fmt::Display + ?Sized, { Err(SerdeEncodeError::CannotCollectStr.into()) } @@ -290,9 +290,9 @@ impl<'a, ENC: Encoder> SerializeSeq for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> where - T: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } @@ -306,9 +306,9 @@ impl<'a, ENC: Encoder> SerializeTuple for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> where - T: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } @@ -322,9 +322,9 @@ impl<'a, ENC: Encoder> SerializeTupleStruct for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> where - T: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } @@ -338,9 +338,9 @@ impl<'a, ENC: Encoder> SerializeTupleVariant for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> where - T: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } @@ -354,16 +354,16 @@ impl<'a, ENC: Encoder> SerializeMap for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> + fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> where - T: Serialize, + T: Serialize + ?Sized, { key.serialize(SerdeEncoder { enc: self.enc }) } - fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> + fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> where - T: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } @@ -377,13 +377,9 @@ impl<'a, ENC: Encoder> SerializeStruct for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - 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: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } @@ -397,13 +393,9 @@ impl<'a, ENC: Encoder> SerializeStructVariant for Compound<'a, ENC> { type Ok = (); type Error = EncodeError; - 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: Serialize, + T: Serialize + ?Sized, { value.serialize(SerdeEncoder { enc: self.enc }) } diff --git a/tests/derive_rename.rs b/tests/derive_rename.rs index 5b708dab..fe2d0cf9 100644 --- a/tests/derive_rename.rs +++ b/tests/derive_rename.rs @@ -7,6 +7,7 @@ extern crate core as bincode; #[derive(bincode_new::Encode)] #[bincode(crate = "bincode_new")] +#[allow(dead_code)] struct DeriveRenameTest { a: u32, b: u32,