From 2e00214b3efbdfeefaa0fe9e8b8fd519de7adc35 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:50 +0200 Subject: Merging upstream version 1.69.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/zerovec/src/flexzerovec/serde.rs | 8 ++++---- vendor/zerovec/src/flexzerovec/slice.rs | 8 +++++++- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'vendor/zerovec/src/flexzerovec') diff --git a/vendor/zerovec/src/flexzerovec/serde.rs b/vendor/zerovec/src/flexzerovec/serde.rs index 44179be32..fb7caa7a8 100644 --- a/vendor/zerovec/src/flexzerovec/serde.rs +++ b/vendor/zerovec/src/flexzerovec/serde.rs @@ -42,7 +42,7 @@ impl<'de> Visitor<'de> for FlexZeroVecVisitor { } } -/// This impl can be made available by enabling the optional `serde` feature of the `zerovec` crate +/// This impl requires enabling the optional `serde` Cargo feature of the `zerovec` crate impl<'de, 'a> Deserialize<'de> for FlexZeroVec<'a> where 'de: 'a, @@ -60,7 +60,7 @@ where } } -/// This impl can be made available by enabling the optional `serde` feature of the `zerovec` crate +/// This impl requires enabling the optional `serde` Cargo feature of the `zerovec` crate impl<'de, 'a> Deserialize<'de> for &'a FlexZeroSlice where 'de: 'a, @@ -87,7 +87,7 @@ where } } -/// This impl can be made available by enabling the optional `serde` feature of the `zerovec` crate +/// This impl requires enabling the optional `serde` Cargo feature of the `zerovec` crate impl Serialize for FlexZeroVec<'_> { fn serialize(&self, serializer: S) -> Result where @@ -105,7 +105,7 @@ impl Serialize for FlexZeroVec<'_> { } } -/// This impl can be made available by enabling the optional `serde` feature of the `zerovec` crate +/// This impl requires enabling the optional `serde` Cargo feature of the `zerovec` crate impl Serialize for FlexZeroSlice { fn serialize(&self, serializer: S) -> Result where diff --git a/vendor/zerovec/src/flexzerovec/slice.rs b/vendor/zerovec/src/flexzerovec/slice.rs index 7cc6f12fa..ee164d05b 100644 --- a/vendor/zerovec/src/flexzerovec/slice.rs +++ b/vendor/zerovec/src/flexzerovec/slice.rs @@ -14,7 +14,6 @@ const USIZE_WIDTH: usize = mem::size_of::(); /// A zero-copy "slice" that efficiently represents `[usize]`. #[repr(packed)] -#[derive(Eq, PartialEq)] pub struct FlexZeroSlice { // Hard Invariant: 1 <= width <= USIZE_WIDTH (which is target_pointer_width) // Soft Invariant: width == the width of the largest element @@ -23,6 +22,13 @@ pub struct FlexZeroSlice { data: [u8], } +impl PartialEq for FlexZeroSlice { + fn eq(&self, other: &Self) -> bool { + self.width == other.width && self.data == other.data + } +} +impl Eq for FlexZeroSlice {} + /// Helper function to decode a little-endian "chunk" (byte slice of a specific length) /// into a `usize`. We cannot call `usize::from_le_bytes` directly because that function /// requires the high bits to be set to 0. -- cgit v1.2.3