From 91d220ea0f3f250f5d7ea49baf1622a9270fba83 Mon Sep 17 00:00:00 2001 From: Matthew Dabit Date: Wed, 1 Jul 2026 16:31:43 -0700 Subject: [PATCH] chore: update to arrow-rs 59 Bump workspace arrow crates to 59 and crate version to 0.12.0. UnionFields::new was removed in arrow-schema 59; use from_fields. --- Cargo.toml | 16 ++++++++-------- arrow_convert_derive/src/derive_enum.rs | 18 +++++------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 30b3a1e..44ca972 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,21 +8,21 @@ authors = [ "Jorge Leitao ", "Chandra Penke ", ] -version = "0.11.4" +version = "0.12.0" edition = "2021" license = "Apache-2.0 OR MIT" keywords = ["Arrow", "arrow"] repository = "https://github.com/Swoorup/arrow-convert" [workspace.dependencies] -arrow_convert = { path = "arrow_convert", version = "0.11.4" } -arrow_convert_derive = { path = "arrow_convert_derive", version = "0.11.4" } +arrow_convert = { path = "arrow_convert" } +arrow_convert_derive = { path = "arrow_convert_derive" } -arrow = { version = "57", default-features = false } -arrow-array = { version = "57" } -arrow-buffer = { version = "57" } -arrow-data = { version = "57" } -arrow-schema = { version = "57" } +arrow = { version = "59", default-features = false } +arrow-array = { version = "59" } +arrow-buffer = { version = "59" } +arrow-data = { version = "59" } +arrow-schema = { version = "59" } chrono = { version = "0.4", default-features = false } criterion = "0.7" err-derive = "0.3" diff --git a/arrow_convert_derive/src/derive_enum.rs b/arrow_convert_derive/src/derive_enum.rs index 65490f3..8bc75a5 100644 --- a/arrow_convert_derive/src/derive_enum.rs +++ b/arrow_convert_derive/src/derive_enum.rs @@ -84,25 +84,17 @@ pub fn expand_field(input: DeriveEnum) -> TokenStream { .. } = (&input).into(); - let num_variants = syn::LitInt::new( - &format!("{}", variant_types.len()), - proc_macro2::Span::call_site(), - ); - quote! { impl arrow_convert::field::ArrowField for #original_name { type Type = Self; fn data_type() -> arrow::datatypes::DataType { arrow::datatypes::DataType::Union( - arrow::datatypes::UnionFields::new( - 0..#num_variants, // basically union tag id or here called type_id - vec![ - #( - <#variant_types as arrow_convert::field::ArrowField>::field(#variant_names_str), - )* - ] - ), + arrow::datatypes::UnionFields::from_fields(vec![ + #( + <#variant_types as arrow_convert::field::ArrowField>::field(#variant_names_str), + )* + ]), #union_type, ) }