From 4c91e797f8312c4e4e9e6febec27692260d03614 Mon Sep 17 00:00:00 2001 From: Adam Gutglick Date: Tue, 7 Oct 2025 13:24:45 +0100 Subject: [PATCH 1/2] Minor simplification of the serde dependency Signed-off-by: Adam Gutglick --- Cargo.lock | 3 +-- Cargo.toml | 1 + vortex-array/Cargo.toml | 1 - vortex-array/src/patches.rs | 3 +-- vortex-buffer/Cargo.toml | 4 ++-- vortex-buffer/src/serde.rs | 12 ++++++------ vortex-dtype/src/serde/mod.rs | 1 + vortex-dtype/src/serde/serde.rs | 2 -- 8 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9a8b83b56c5..053901a7fcd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6483,7 +6483,6 @@ dependencies = [ "rstest", "rstest_reuse", "rustc-hash", - "serde", "simdutf8", "static_assertions", "tabled", @@ -6543,7 +6542,7 @@ dependencies = [ "log", "memmap2", "num-traits", - "serde", + "serde_core", "simdutf8", "vortex-error", ] diff --git a/Cargo.toml b/Cargo.toml index c98fd1f733c..1b45acbe853 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -173,6 +173,7 @@ rstest = "0.26" rstest_reuse = "0.7.0" rustc-hash = "2.1" serde = "1.0.217" +serde_core = "1" serde_json = "1.0.116" serde_test = "1.0.176" simdutf8 = "0.1.5" diff --git a/vortex-array/Cargo.toml b/vortex-array/Cargo.toml index 5863aec5325..f31eac1f598 100644 --- a/vortex-array/Cargo.toml +++ b/vortex-array/Cargo.toml @@ -54,7 +54,6 @@ rand = { workspace = true } rstest = { workspace = true, optional = true } rstest_reuse = { workspace = true, optional = true } rustc-hash = { workspace = true } -serde = { workspace = true, features = ["derive"] } simdutf8 = { workspace = true } static_assertions = { workspace = true } tabled = { workspace = true, optional = true, default-features = false, features = [ diff --git a/vortex-array/src/patches.rs b/vortex-array/src/patches.rs index 2d10cc3ee2c..23f711a90d1 100644 --- a/vortex-array/src/patches.rs +++ b/vortex-array/src/patches.rs @@ -8,7 +8,6 @@ use std::ops::Range; use arrow_buffer::BooleanBuffer; use itertools::Itertools; -use serde::{Deserialize, Serialize}; use vortex_buffer::BufferMut; use vortex_dtype::Nullability::NonNullable; use vortex_dtype::{ @@ -26,7 +25,7 @@ use crate::search_sorted::{SearchResult, SearchSorted, SearchSortedSide}; use crate::vtable::ValidityHelper; use crate::{Array, ArrayRef, IntoArray, ToCanonical}; -#[derive(Copy, Clone, Serialize, Deserialize, prost::Message)] +#[derive(Copy, Clone, prost::Message)] pub struct PatchesMetadata { #[prost(uint64, tag = "1")] len: u64, diff --git a/vortex-buffer/Cargo.toml b/vortex-buffer/Cargo.toml index 4ee947f6f0e..6233ad894bb 100644 --- a/vortex-buffer/Cargo.toml +++ b/vortex-buffer/Cargo.toml @@ -20,7 +20,7 @@ all-features = true arrow = ["dep:arrow-buffer"] cuda = ["dep:cudarc"] memmap2 = ["dep:memmap2"] -serde = ["dep:serde"] +serde = ["dep:serde_core"] warn-copy = ["dep:log"] [dependencies] @@ -31,7 +31,7 @@ itertools = { workspace = true } log = { workspace = true, optional = true } memmap2 = { workspace = true, optional = true } num-traits = { workspace = true } -serde = { workspace = true, optional = true } +serde_core = { workspace = true, optional = true } simdutf8 = { workspace = true } vortex-error = { workspace = true } diff --git a/vortex-buffer/src/serde.rs b/vortex-buffer/src/serde.rs index 9bfd4b65318..08f239c51f2 100644 --- a/vortex-buffer/src/serde.rs +++ b/vortex-buffer/src/serde.rs @@ -3,8 +3,8 @@ use std::marker::PhantomData; -use serde::de::Visitor; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde_core::de::Visitor; +use serde_core::{Deserialize, Deserializer, Serialize, Serializer}; use crate::{Alignment, Buffer, BufferMut, ByteBuffer}; @@ -44,7 +44,7 @@ where fn visit_byte_buf(self, v: Vec) -> Result where - E: serde::de::Error, + E: serde_core::de::Error, { let bytes = ByteBuffer::copy_from_aligned(v, Alignment::of::()); Ok(Buffer::from_byte_buffer(bytes)) @@ -52,7 +52,7 @@ where fn visit_borrowed_bytes(self, v: &'de [u8]) -> Result where - E: serde::de::Error, + E: serde_core::de::Error, { let bytes = ByteBuffer::copy_from_aligned(v, Alignment::of::()); Ok(Buffer::from_byte_buffer(bytes)) @@ -60,7 +60,7 @@ where fn visit_bytes(self, v: &[u8]) -> Result where - E: serde::de::Error, + E: serde_core::de::Error, { let bytes = ByteBuffer::copy_from_aligned(v, Alignment::of::()); Ok(Buffer::from_byte_buffer(bytes)) @@ -68,7 +68,7 @@ where fn visit_seq(self, mut seq: A) -> Result where - A: serde::de::SeqAccess<'de>, + A: serde_core::de::SeqAccess<'de>, { let mut buffer = seq .size_hint() diff --git a/vortex-dtype/src/serde/mod.rs b/vortex-dtype/src/serde/mod.rs index 8cb27ceb7ef..7683568d83e 100644 --- a/vortex-dtype/src/serde/mod.rs +++ b/vortex-dtype/src/serde/mod.rs @@ -6,6 +6,7 @@ pub mod flatbuffers; mod proto; #[allow(clippy::module_inception)] +#[cfg(feature = "serde")] mod serde; #[cfg(test)] diff --git a/vortex-dtype/src/serde/serde.rs b/vortex-dtype/src/serde/serde.rs index 5d0fcfdc9dc..31a4acb7f02 100644 --- a/vortex-dtype/src/serde/serde.rs +++ b/vortex-dtype/src/serde/serde.rs @@ -1,8 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-FileCopyrightText: Copyright the Vortex contributors -#![cfg(feature = "serde")] - use serde::{Deserialize, Deserializer, Serialize, Serializer}; use crate::Nullability; From 7d9d49ac318abd420f6c436fb075b3b04f6334fd Mon Sep 17 00:00:00 2001 From: Adam Gutglick Date: Tue, 7 Oct 2025 15:35:32 +0100 Subject: [PATCH 2/2] Min serde version Signed-off-by: Adam Gutglick --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1b45acbe853..ba88af94566 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -172,8 +172,8 @@ roaring = "0.11.0" rstest = "0.26" rstest_reuse = "0.7.0" rustc-hash = "2.1" -serde = "1.0.217" -serde_core = "1" +serde = "1.0.220" +serde_core = "1.0.220" serde_json = "1.0.116" serde_test = "1.0.176" simdutf8 = "0.1.5"