From b75285e97003a57034e41f62c1a61ec9a4415f7c Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Wed, 24 Dec 2025 23:50:33 +0800 Subject: [PATCH 1/3] enforce clippy::allow_attributes for datafusion-ffi crate --- datafusion/ffi/src/catalog_provider.rs | 1 - datafusion/ffi/src/catalog_provider_list.rs | 1 - datafusion/ffi/src/execution/task_ctx.rs | 1 - datafusion/ffi/src/execution/task_ctx_provider.rs | 1 - datafusion/ffi/src/execution_plan.rs | 1 - datafusion/ffi/src/expr/columnar_value.rs | 1 - datafusion/ffi/src/expr/distribution.rs | 6 ------ datafusion/ffi/src/expr/expr_properties.rs | 3 --- datafusion/ffi/src/expr/interval.rs | 1 - datafusion/ffi/src/insert_op.rs | 1 - datafusion/ffi/src/lib.rs | 1 + datafusion/ffi/src/physical_expr/mod.rs | 1 - datafusion/ffi/src/physical_expr/partitioning.rs | 1 - datafusion/ffi/src/physical_expr/sort.rs | 1 - datafusion/ffi/src/plan_properties.rs | 3 --- datafusion/ffi/src/record_batch_stream.rs | 1 - datafusion/ffi/src/schema_provider.rs | 1 - datafusion/ffi/src/session_config.rs | 1 - datafusion/ffi/src/table_provider.rs | 1 - datafusion/ffi/src/table_source.rs | 2 -- datafusion/ffi/src/tests/async_provider.rs | 2 +- datafusion/ffi/src/udaf/accumulator.rs | 1 - datafusion/ffi/src/udaf/accumulator_args.rs | 1 - datafusion/ffi/src/udaf/groups_accumulator.rs | 2 -- datafusion/ffi/src/udaf/mod.rs | 3 --- datafusion/ffi/src/udf/mod.rs | 2 -- datafusion/ffi/src/udf/return_type_args.rs | 1 - datafusion/ffi/src/udtf.rs | 1 - datafusion/ffi/src/udwf/mod.rs | 2 -- datafusion/ffi/src/udwf/partition_evaluator.rs | 1 - datafusion/ffi/src/udwf/partition_evaluator_args.rs | 1 - datafusion/ffi/src/udwf/range.rs | 1 - datafusion/ffi/src/volatility.rs | 1 - 33 files changed, 2 insertions(+), 47 deletions(-) diff --git a/datafusion/ffi/src/catalog_provider.rs b/datafusion/ffi/src/catalog_provider.rs index 8c3e4cbc15a1..e4bd565cc065 100644 --- a/datafusion/ffi/src/catalog_provider.rs +++ b/datafusion/ffi/src/catalog_provider.rs @@ -35,7 +35,6 @@ use datafusion::error::Result; /// A stable struct for sharing [`CatalogProvider`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_CatalogProvider { pub schema_names: unsafe extern "C" fn(provider: &Self) -> RVec, diff --git a/datafusion/ffi/src/catalog_provider_list.rs b/datafusion/ffi/src/catalog_provider_list.rs index 102e9e4ef56d..8b5a356a0a5a 100644 --- a/datafusion/ffi/src/catalog_provider_list.rs +++ b/datafusion/ffi/src/catalog_provider_list.rs @@ -29,7 +29,6 @@ use crate::catalog_provider::{FFI_CatalogProvider, ForeignCatalogProvider}; /// A stable struct for sharing [`CatalogProviderList`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_CatalogProviderList { /// Register a catalog pub register_catalog: unsafe extern "C" fn( diff --git a/datafusion/ffi/src/execution/task_ctx.rs b/datafusion/ffi/src/execution/task_ctx.rs index bf57a2607a07..8912e08a6574 100644 --- a/datafusion/ffi/src/execution/task_ctx.rs +++ b/datafusion/ffi/src/execution/task_ctx.rs @@ -36,7 +36,6 @@ use crate::udwf::FFI_WindowUDF; /// A stable struct for sharing [`TaskContext`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_TaskContext { /// Return the session ID. pub session_id: unsafe extern "C" fn(&Self) -> RString, diff --git a/datafusion/ffi/src/execution/task_ctx_provider.rs b/datafusion/ffi/src/execution/task_ctx_provider.rs index b9861a68d0ac..dc443975a526 100644 --- a/datafusion/ffi/src/execution/task_ctx_provider.rs +++ b/datafusion/ffi/src/execution/task_ctx_provider.rs @@ -33,7 +33,6 @@ use crate::{df_result, rresult}; /// additional information. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_TaskContextProvider { /// Retrieve the current [`TaskContext`] provided the provider has not /// gone out of scope. This function will return an error if the weakly diff --git a/datafusion/ffi/src/execution_plan.rs b/datafusion/ffi/src/execution_plan.rs index 023869a6c494..ef1ab5314d02 100644 --- a/datafusion/ffi/src/execution_plan.rs +++ b/datafusion/ffi/src/execution_plan.rs @@ -38,7 +38,6 @@ use crate::{ /// A stable struct for sharing a [`ExecutionPlan`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_ExecutionPlan { /// Return the plan properties pub properties: unsafe extern "C" fn(plan: &Self) -> FFI_PlanProperties, diff --git a/datafusion/ffi/src/expr/columnar_value.rs b/datafusion/ffi/src/expr/columnar_value.rs index 13f745f6de8d..7ad7645ecb6c 100644 --- a/datafusion/ffi/src/expr/columnar_value.rs +++ b/datafusion/ffi/src/expr/columnar_value.rs @@ -25,7 +25,6 @@ use crate::arrow_wrappers::WrappedArray; /// Scalar values are passed as an Arrow array of length 1. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_ColumnarValue { Array(WrappedArray), Scalar(WrappedArray), diff --git a/datafusion/ffi/src/expr/distribution.rs b/datafusion/ffi/src/expr/distribution.rs index c35bb4c0df18..e092689e6ae2 100644 --- a/datafusion/ffi/src/expr/distribution.rs +++ b/datafusion/ffi/src/expr/distribution.rs @@ -28,7 +28,6 @@ use datafusion_expr::statistics::{ /// See ['Distribution'] for the meaning of each variant. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] #[expect(clippy::large_enum_variant)] pub enum FFI_Distribution { Uniform(FFI_UniformDistribution), @@ -68,14 +67,12 @@ impl TryFrom for Distribution { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_UniformDistribution { interval: FFI_Interval, } #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_ExponentialDistribution { rate: WrappedArray, offset: WrappedArray, @@ -84,7 +81,6 @@ pub struct FFI_ExponentialDistribution { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_GaussianDistribution { mean: WrappedArray, variance: WrappedArray, @@ -92,14 +88,12 @@ pub struct FFI_GaussianDistribution { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_BernoulliDistribution { p: WrappedArray, } #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_GenericDistribution { mean: WrappedArray, median: WrappedArray, diff --git a/datafusion/ffi/src/expr/expr_properties.rs b/datafusion/ffi/src/expr/expr_properties.rs index a31bd34faa1c..199a399a6471 100644 --- a/datafusion/ffi/src/expr/expr_properties.rs +++ b/datafusion/ffi/src/expr/expr_properties.rs @@ -26,7 +26,6 @@ use crate::expr::interval::FFI_Interval; /// See [`ExprProperties`] for the meaning of each field. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_ExprProperties { sort_properties: FFI_SortProperties, range: FFI_Interval, @@ -62,7 +61,6 @@ impl TryFrom for ExprProperties { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_SortProperties { Ordered(FFI_SortOptions), Unordered, @@ -91,7 +89,6 @@ impl From<&FFI_SortProperties> for SortProperties { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_SortOptions { pub descending: bool, pub nulls_first: bool, diff --git a/datafusion/ffi/src/expr/interval.rs b/datafusion/ffi/src/expr/interval.rs index d636ded6ebdb..da46350a5153 100644 --- a/datafusion/ffi/src/expr/interval.rs +++ b/datafusion/ffi/src/expr/interval.rs @@ -25,7 +25,6 @@ use datafusion_expr::interval_arithmetic::Interval; /// are passed as Arrow arrays of length 1. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_Interval { lower: WrappedArray, upper: WrappedArray, diff --git a/datafusion/ffi/src/insert_op.rs b/datafusion/ffi/src/insert_op.rs index 8e8693076cc0..a4c57c2e5af9 100644 --- a/datafusion/ffi/src/insert_op.rs +++ b/datafusion/ffi/src/insert_op.rs @@ -21,7 +21,6 @@ use datafusion::logical_expr::logical_plan::dml::InsertOp; /// FFI safe version of [`InsertOp`]. #[repr(C)] #[derive(StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_InsertOp { Append, Overwrite, diff --git a/datafusion/ffi/src/lib.rs b/datafusion/ffi/src/lib.rs index fbb45a8028fc..68bcbdcba1ea 100644 --- a/datafusion/ffi/src/lib.rs +++ b/datafusion/ffi/src/lib.rs @@ -24,6 +24,7 @@ // https://github.com/apache/datafusion/issues/11143 #![deny(clippy::clone_on_ref_ptr)] #![cfg_attr(test, allow(clippy::needless_pass_by_value))] +#![deny(clippy::allow_attributes)] pub mod arrow_wrappers; pub mod catalog_provider; diff --git a/datafusion/ffi/src/physical_expr/mod.rs b/datafusion/ffi/src/physical_expr/mod.rs index 720d83ce9a64..a0a7fd54b8ce 100644 --- a/datafusion/ffi/src/physical_expr/mod.rs +++ b/datafusion/ffi/src/physical_expr/mod.rs @@ -57,7 +57,6 @@ use crate::{ #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_PhysicalExpr { pub data_type: unsafe extern "C" fn( &Self, diff --git a/datafusion/ffi/src/physical_expr/partitioning.rs b/datafusion/ffi/src/physical_expr/partitioning.rs index 32ca1f4835ea..fcc35527688f 100644 --- a/datafusion/ffi/src/physical_expr/partitioning.rs +++ b/datafusion/ffi/src/physical_expr/partitioning.rs @@ -27,7 +27,6 @@ use crate::physical_expr::FFI_PhysicalExpr; /// See ['Partitioning'] for the meaning of each variant. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_Partitioning { RoundRobinBatch(usize), Hash(RVec, usize), diff --git a/datafusion/ffi/src/physical_expr/sort.rs b/datafusion/ffi/src/physical_expr/sort.rs index 8c5df9f4aef8..28be157d57ad 100644 --- a/datafusion/ffi/src/physical_expr/sort.rs +++ b/datafusion/ffi/src/physical_expr/sort.rs @@ -29,7 +29,6 @@ use crate::physical_expr::FFI_PhysicalExpr; /// See [`PhysicalSortExpr`] for the meaning of each field. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_PhysicalSortExpr { expr: FFI_PhysicalExpr, options: FFI_SortOptions, diff --git a/datafusion/ffi/src/plan_properties.rs b/datafusion/ffi/src/plan_properties.rs index 40ac82c39db3..874529583d1f 100644 --- a/datafusion/ffi/src/plan_properties.rs +++ b/datafusion/ffi/src/plan_properties.rs @@ -47,7 +47,6 @@ use crate::{arrow_wrappers::WrappedSchema, df_result, rresult_return}; /// A stable struct for sharing [`PlanProperties`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_PlanProperties { /// The output partitioning is a [`Partitioning`] protobuf message serialized /// into bytes to pass across the FFI boundary. @@ -240,7 +239,6 @@ impl TryFrom for PlanProperties { /// FFI safe version of [`Boundedness`]. #[repr(C)] -#[allow(non_camel_case_types)] #[derive(Clone, StableAbi)] pub enum FFI_Boundedness { Bounded, @@ -275,7 +273,6 @@ impl From for Boundedness { /// FFI safe version of [`EmissionType`]. #[repr(C)] -#[allow(non_camel_case_types)] #[derive(Clone, StableAbi)] pub enum FFI_EmissionType { Incremental, diff --git a/datafusion/ffi/src/record_batch_stream.rs b/datafusion/ffi/src/record_batch_stream.rs index b515125f9aeb..7e4068b602d5 100644 --- a/datafusion/ffi/src/record_batch_stream.rs +++ b/datafusion/ffi/src/record_batch_stream.rs @@ -46,7 +46,6 @@ use crate::{ /// We use the async-ffi crate for handling async calls across libraries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_RecordBatchStream { /// This mirrors the `poll_next` of [`RecordBatchStream`] but does so /// in a FFI safe manner. diff --git a/datafusion/ffi/src/schema_provider.rs b/datafusion/ffi/src/schema_provider.rs index eafdb2e69464..3498372c0cc4 100644 --- a/datafusion/ffi/src/schema_provider.rs +++ b/datafusion/ffi/src/schema_provider.rs @@ -40,7 +40,6 @@ use datafusion::error::Result; /// A stable struct for sharing [`SchemaProvider`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_SchemaProvider { pub owner_name: ROption, diff --git a/datafusion/ffi/src/session_config.rs b/datafusion/ffi/src/session_config.rs index 5fbd6175e0b7..fe4acf2a8c0e 100644 --- a/datafusion/ffi/src/session_config.rs +++ b/datafusion/ffi/src/session_config.rs @@ -36,7 +36,6 @@ use datafusion_execution::config::SessionConfig; /// value over this version. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_SessionConfig { /// Return a hash map from key to value of the config options represented /// by string values. diff --git a/datafusion/ffi/src/table_provider.rs b/datafusion/ffi/src/table_provider.rs index f20ae3659706..1522ee8bc83e 100644 --- a/datafusion/ffi/src/table_provider.rs +++ b/datafusion/ffi/src/table_provider.rs @@ -97,7 +97,6 @@ use datafusion_execution::config::SessionConfig; /// side of the interface each object refers to. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_TableProvider { /// Return the table schema pub schema: unsafe extern "C" fn(provider: &Self) -> WrappedSchema, diff --git a/datafusion/ffi/src/table_source.rs b/datafusion/ffi/src/table_source.rs index 418fdf16a564..bc6a4cf532b2 100644 --- a/datafusion/ffi/src/table_source.rs +++ b/datafusion/ffi/src/table_source.rs @@ -21,7 +21,6 @@ use datafusion::{datasource::TableType, logical_expr::TableProviderFilterPushDow /// FFI safe version of [`TableProviderFilterPushDown`]. #[repr(C)] #[derive(StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_TableProviderFilterPushDown { Unsupported, Inexact, @@ -58,7 +57,6 @@ impl From<&TableProviderFilterPushDown> for FFI_TableProviderFilterPushDown { /// FFI safe version of [`TableType`]. #[repr(C)] -#[allow(non_camel_case_types)] #[derive(Debug, Clone, Copy, PartialEq, Eq, StableAbi)] pub enum FFI_TableType { Base, diff --git a/datafusion/ffi/src/tests/async_provider.rs b/datafusion/ffi/src/tests/async_provider.rs index 67421f58805a..41c5f862ad3b 100644 --- a/datafusion/ffi/src/tests/async_provider.rs +++ b/datafusion/ffi/src/tests/async_provider.rs @@ -253,7 +253,7 @@ impl Stream for AsyncTestRecordBatchStream { ) -> std::task::Poll> { let mut this = self.as_mut(); - #[allow(clippy::disallowed_methods)] + #[expect(clippy::disallowed_methods)] tokio::spawn(async move { // Nothing to do. We just need to simulate an async // task running diff --git a/datafusion/ffi/src/udaf/accumulator.rs b/datafusion/ffi/src/udaf/accumulator.rs index c0ab0bdd5b7e..5cd82820154f 100644 --- a/datafusion/ffi/src/udaf/accumulator.rs +++ b/datafusion/ffi/src/udaf/accumulator.rs @@ -37,7 +37,6 @@ use crate::{arrow_wrappers::WrappedArray, df_result, rresult, rresult_return}; /// defined in [`Accumulator`]. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_Accumulator { pub update_batch: unsafe extern "C" fn( accumulator: &mut Self, diff --git a/datafusion/ffi/src/udaf/accumulator_args.rs b/datafusion/ffi/src/udaf/accumulator_args.rs index d79ecba14c68..90b13c47e65e 100644 --- a/datafusion/ffi/src/udaf/accumulator_args.rs +++ b/datafusion/ffi/src/udaf/accumulator_args.rs @@ -46,7 +46,6 @@ use prost::Message; /// defined in [`AccumulatorArgs`]. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_AccumulatorArgs { return_field: WrappedSchema, schema: WrappedSchema, diff --git a/datafusion/ffi/src/udaf/groups_accumulator.rs b/datafusion/ffi/src/udaf/groups_accumulator.rs index 69113d8128c3..564e74347a91 100644 --- a/datafusion/ffi/src/udaf/groups_accumulator.rs +++ b/datafusion/ffi/src/udaf/groups_accumulator.rs @@ -41,7 +41,6 @@ use std::{ffi::c_void, ops::Deref, sync::Arc}; /// defined in [`GroupsAccumulator`]. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_GroupsAccumulator { pub update_batch: unsafe extern "C" fn( accumulator: &mut Self, @@ -419,7 +418,6 @@ impl GroupsAccumulator for ForeignGroupsAccumulator { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_EmitTo { All, First(usize), diff --git a/datafusion/ffi/src/udaf/mod.rs b/datafusion/ffi/src/udaf/mod.rs index 838c3f909b02..ba9815b21480 100644 --- a/datafusion/ffi/src/udaf/mod.rs +++ b/datafusion/ffi/src/udaf/mod.rs @@ -61,7 +61,6 @@ mod groups_accumulator; /// A stable struct for sharing a [`AggregateUDF`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_AggregateUDF { /// FFI equivalent to the `name` of a [`AggregateUDF`] pub name: RString, @@ -100,7 +99,6 @@ pub struct FFI_AggregateUDF { -> FFIResult, /// FFI equivalent to [`AggregateUDF::state_fields`] - #[allow(clippy::type_complexity)] pub state_fields: unsafe extern "C" fn( udaf: &FFI_AggregateUDF, name: &RStr, @@ -585,7 +583,6 @@ impl AggregateUDFImpl for ForeignAggregateUDF { #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub enum FFI_AggregateOrderSensitivity { Insensitive, HardRequirement, diff --git a/datafusion/ffi/src/udf/mod.rs b/datafusion/ffi/src/udf/mod.rs index 7ed3105e63e3..ee128e5cbcb4 100644 --- a/datafusion/ffi/src/udf/mod.rs +++ b/datafusion/ffi/src/udf/mod.rs @@ -57,7 +57,6 @@ pub mod return_type_args; /// A stable struct for sharing a [`ScalarUDF`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_ScalarUDF { /// FFI equivalent to the `name` of a [`ScalarUDF`] pub name: RString, @@ -76,7 +75,6 @@ pub struct FFI_ScalarUDF { /// Execute the underlying [`ScalarUDF`] and return the result as a `FFI_ArrowArray` /// within an AbiStable wrapper. - #[allow(clippy::type_complexity)] pub invoke_with_args: unsafe extern "C" fn( udf: &Self, args: RVec, diff --git a/datafusion/ffi/src/udf/return_type_args.rs b/datafusion/ffi/src/udf/return_type_args.rs index c9396b797183..038de3fbe6ce 100644 --- a/datafusion/ffi/src/udf/return_type_args.rs +++ b/datafusion/ffi/src/udf/return_type_args.rs @@ -32,7 +32,6 @@ use prost::Message; /// A stable struct for sharing a [`ReturnFieldArgs`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_ReturnFieldArgs { arg_fields: RVec, scalar_arguments: RVec>>, diff --git a/datafusion/ffi/src/udtf.rs b/datafusion/ffi/src/udtf.rs index f15429595801..3eedcd55634f 100644 --- a/datafusion/ffi/src/udtf.rs +++ b/datafusion/ffi/src/udtf.rs @@ -42,7 +42,6 @@ use crate::{df_result, rresult_return, table_provider::FFI_TableProvider}; /// A stable struct for sharing a [`TableFunctionImpl`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_TableFunction { /// Equivalent to the `call` function of the TableFunctionImpl. /// The arguments are Expr passed as protobuf encoded bytes. diff --git a/datafusion/ffi/src/udwf/mod.rs b/datafusion/ffi/src/udwf/mod.rs index 7a65a4784f65..076b094e0acf 100644 --- a/datafusion/ffi/src/udwf/mod.rs +++ b/datafusion/ffi/src/udwf/mod.rs @@ -52,7 +52,6 @@ use crate::{df_result, rresult, rresult_return}; /// A stable struct for sharing a [`WindowUDF`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_WindowUDF { /// FFI equivalent to the `name` of a [`WindowUDF`] pub name: RString, @@ -358,7 +357,6 @@ impl WindowUDFImpl for ForeignWindowUDF { #[repr(C)] #[derive(Debug, StableAbi, Clone)] -#[allow(non_camel_case_types)] pub struct FFI_SortOptions { pub descending: bool, pub nulls_first: bool, diff --git a/datafusion/ffi/src/udwf/partition_evaluator.rs b/datafusion/ffi/src/udwf/partition_evaluator.rs index 57cc8f73aa93..0fd54d8d577b 100644 --- a/datafusion/ffi/src/udwf/partition_evaluator.rs +++ b/datafusion/ffi/src/udwf/partition_evaluator.rs @@ -35,7 +35,6 @@ use prost::Message; /// defined in [`PartitionEvaluator`]. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_PartitionEvaluator { pub evaluate_all: unsafe extern "C" fn( evaluator: &mut Self, diff --git a/datafusion/ffi/src/udwf/partition_evaluator_args.rs b/datafusion/ffi/src/udwf/partition_evaluator_args.rs index 93090af6f773..1cecc98965a6 100644 --- a/datafusion/ffi/src/udwf/partition_evaluator_args.rs +++ b/datafusion/ffi/src/udwf/partition_evaluator_args.rs @@ -46,7 +46,6 @@ use prost::Message; /// defined in [`PartitionEvaluatorArgs`]. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_PartitionEvaluatorArgs { input_exprs: RVec>, input_fields: RVec, diff --git a/datafusion/ffi/src/udwf/range.rs b/datafusion/ffi/src/udwf/range.rs index 1ddcc4199fe2..19a908c5e245 100644 --- a/datafusion/ffi/src/udwf/range.rs +++ b/datafusion/ffi/src/udwf/range.rs @@ -24,7 +24,6 @@ use abi_stable::StableAbi; /// defined in [`Range`]. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] pub struct FFI_Range { pub start: usize, pub end: usize, diff --git a/datafusion/ffi/src/volatility.rs b/datafusion/ffi/src/volatility.rs index f1705da294a3..96924144150e 100644 --- a/datafusion/ffi/src/volatility.rs +++ b/datafusion/ffi/src/volatility.rs @@ -20,7 +20,6 @@ use datafusion::logical_expr::Volatility; #[repr(C)] #[derive(Debug, StableAbi, Clone)] -#[allow(non_camel_case_types)] pub enum FFI_Volatility { Immutable, Stable, From b0124bfc21873db282ee6f90c7e7765424428b7b Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Thu, 25 Dec 2025 19:14:40 +0800 Subject: [PATCH 2/3] fix: ci error --- datafusion/ffi/src/proto/logical_extension_codec.rs | 2 +- datafusion/ffi/src/proto/physical_extension_codec.rs | 2 +- datafusion/ffi/src/session/mod.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/datafusion/ffi/src/proto/logical_extension_codec.rs b/datafusion/ffi/src/proto/logical_extension_codec.rs index 3cb62f4a5388..233d530c0931 100644 --- a/datafusion/ffi/src/proto/logical_extension_codec.rs +++ b/datafusion/ffi/src/proto/logical_extension_codec.rs @@ -47,7 +47,7 @@ use crate::{df_result, rresult_return}; /// A stable struct for sharing [`LogicalExtensionCodec`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] +#[expect(non_camel_case_types)] pub struct FFI_LogicalExtensionCodec { /// Decode bytes into a table provider. try_decode_table_provider: unsafe extern "C" fn( diff --git a/datafusion/ffi/src/proto/physical_extension_codec.rs b/datafusion/ffi/src/proto/physical_extension_codec.rs index 5025c962d398..02ee3fcd11db 100644 --- a/datafusion/ffi/src/proto/physical_extension_codec.rs +++ b/datafusion/ffi/src/proto/physical_extension_codec.rs @@ -40,7 +40,7 @@ use crate::{df_result, rresult_return}; /// A stable struct for sharing [`PhysicalExtensionCodec`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] +#[expect(non_camel_case_types)] pub struct FFI_PhysicalExtensionCodec { /// Decode bytes into an execution plan. try_decode: unsafe extern "C" fn( diff --git a/datafusion/ffi/src/session/mod.rs b/datafusion/ffi/src/session/mod.rs index 4cb33f7d44ec..472c3d82fb23 100644 --- a/datafusion/ffi/src/session/mod.rs +++ b/datafusion/ffi/src/session/mod.rs @@ -75,7 +75,7 @@ pub mod config; /// we know the [`Session`] lifetimes are valid. #[repr(C)] #[derive(Debug, StableAbi)] -#[allow(non_camel_case_types)] +#[expect(non_camel_case_types)] pub(crate) struct FFI_SessionRef { session_id: unsafe extern "C" fn(&Self) -> RStr, From 25aa83648e048133379a5347101182867ee79991 Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Thu, 25 Dec 2025 19:52:04 +0800 Subject: [PATCH 3/3] fix: ci error --- datafusion/ffi/src/proto/logical_extension_codec.rs | 1 - datafusion/ffi/src/proto/physical_extension_codec.rs | 1 - datafusion/ffi/src/session/mod.rs | 1 - 3 files changed, 3 deletions(-) diff --git a/datafusion/ffi/src/proto/logical_extension_codec.rs b/datafusion/ffi/src/proto/logical_extension_codec.rs index 233d530c0931..3781a40539ed 100644 --- a/datafusion/ffi/src/proto/logical_extension_codec.rs +++ b/datafusion/ffi/src/proto/logical_extension_codec.rs @@ -47,7 +47,6 @@ use crate::{df_result, rresult_return}; /// A stable struct for sharing [`LogicalExtensionCodec`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[expect(non_camel_case_types)] pub struct FFI_LogicalExtensionCodec { /// Decode bytes into a table provider. try_decode_table_provider: unsafe extern "C" fn( diff --git a/datafusion/ffi/src/proto/physical_extension_codec.rs b/datafusion/ffi/src/proto/physical_extension_codec.rs index 02ee3fcd11db..0577e7236647 100644 --- a/datafusion/ffi/src/proto/physical_extension_codec.rs +++ b/datafusion/ffi/src/proto/physical_extension_codec.rs @@ -40,7 +40,6 @@ use crate::{df_result, rresult_return}; /// A stable struct for sharing [`PhysicalExtensionCodec`] across FFI boundaries. #[repr(C)] #[derive(Debug, StableAbi)] -#[expect(non_camel_case_types)] pub struct FFI_PhysicalExtensionCodec { /// Decode bytes into an execution plan. try_decode: unsafe extern "C" fn( diff --git a/datafusion/ffi/src/session/mod.rs b/datafusion/ffi/src/session/mod.rs index 472c3d82fb23..aa910abb9149 100644 --- a/datafusion/ffi/src/session/mod.rs +++ b/datafusion/ffi/src/session/mod.rs @@ -75,7 +75,6 @@ pub mod config; /// we know the [`Session`] lifetimes are valid. #[repr(C)] #[derive(Debug, StableAbi)] -#[expect(non_camel_case_types)] pub(crate) struct FFI_SessionRef { session_id: unsafe extern "C" fn(&Self) -> RStr,