From b4bf48f1ab26c2c2a07c41f87562a1ee7db1c44b Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Sat, 6 Dec 2025 22:41:39 +0800 Subject: [PATCH 1/8] chore: enforce clippy::allow_attributes for core crates --- datafusion/catalog-listing/src/mod.rs | 3 ++- datafusion/core/src/lib.rs | 3 ++- datafusion/doc/src/lib.rs | 5 +++-- datafusion/execution/src/disk_manager.rs | 5 +++++ datafusion/execution/src/lib.rs | 1 + datafusion/execution/src/object_store.rs | 2 +- datafusion/execution/src/runtime_env.rs | 10 +++++----- datafusion/expr-common/src/dyn_eq.rs | 4 ++-- datafusion/expr-common/src/lib.rs | 1 + datafusion/expr/src/expr.rs | 2 +- datafusion/expr/src/lib.rs | 1 + datafusion/expr/src/logical_plan/plan.rs | 1 + datafusion/expr/src/ptr_eq.rs | 2 +- datafusion/expr/src/udf.rs | 4 ++-- datafusion/expr/src/udf_eq.rs | 2 +- datafusion/proto-common/src/from_proto/mod.rs | 4 ++-- datafusion/proto-common/src/generated/mod.rs | 2 +- datafusion/proto-common/src/lib.rs | 1 + 18 files changed, 33 insertions(+), 20 deletions(-) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index bb4ff7bd02a77..9cc941367d9dd 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -15,7 +15,8 @@ // specific language governing permissions and limitations // under the License. -#![cfg_attr(test, allow(clippy::needless_pass_by_value))] +#![deny(clippy::allow_attributes)] +#![cfg_attr(test, expect(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs index da8ffe298b4e3..12f6d9d385baf 100644 --- a/datafusion/core/src/lib.rs +++ b/datafusion/core/src/lib.rs @@ -15,6 +15,7 @@ // specific language governing permissions and limitations // under the License. +#![deny(clippy::allow_attributes)] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" @@ -35,7 +36,7 @@ ) )] #![warn(missing_docs, clippy::needless_borrow)] -#![cfg_attr(test, allow(clippy::needless_pass_by_value))] +#![cfg_attr(test, expect(clippy::needless_pass_by_value))] //! [DataFusion] is an extensible query engine written in Rust that //! uses [Apache Arrow] as its in-memory format. DataFusion's target users are diff --git a/datafusion/doc/src/lib.rs b/datafusion/doc/src/lib.rs index 88156eeb5b62f..089e67419f8d7 100644 --- a/datafusion/doc/src/lib.rs +++ b/datafusion/doc/src/lib.rs @@ -15,7 +15,8 @@ // specific language governing permissions and limitations // under the License. -#![cfg_attr(test, allow(clippy::needless_pass_by_value))] +#![deny(clippy::allow_attributes)] +#![cfg_attr(test, expect(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" @@ -30,7 +31,7 @@ pub use udaf::aggregate_doc_sections; pub use udf::scalar_doc_sections; pub use udwf::window_doc_sections; -#[allow(rustdoc::broken_intra_doc_links)] +#[expect(rustdoc::broken_intra_doc_links)] /// Documentation for use by [`ScalarUDFImpl`](ScalarUDFImpl), /// [`AggregateUDFImpl`](AggregateUDFImpl) and [`WindowUDFImpl`](WindowUDFImpl) functions. /// diff --git a/datafusion/execution/src/disk_manager.rs b/datafusion/execution/src/disk_manager.rs index eb7b643a69bcc..ee285f35d9bd2 100644 --- a/datafusion/execution/src/disk_manager.rs +++ b/datafusion/execution/src/disk_manager.rs @@ -115,6 +115,7 @@ pub enum DiskManagerMode { } /// Configuration for temporary disk access +#[allow(clippy::allow_attributes)] #[allow(deprecated)] #[deprecated(since = "48.0.0", note = "Use DiskManagerBuilder instead")] #[derive(Debug, Clone, Default)] @@ -124,6 +125,8 @@ pub enum DiskManagerConfig { /// Create a new [DiskManager] that creates temporary files within /// a temporary directory chosen by the OS + #[allow(clippy::allow_attributes)] + #[allow(deprecated)] #[default] NewOs, @@ -135,6 +138,7 @@ pub enum DiskManagerConfig { Disabled, } +#[allow(clippy::allow_attributes)] #[allow(deprecated)] impl DiskManagerConfig { /// Create temporary files in a temporary directory chosen by the OS @@ -177,6 +181,7 @@ impl DiskManager { } /// Create a DiskManager given the configuration +#[allow(clippy::allow_attributes)] #[allow(deprecated)] #[deprecated(since = "48.0.0", note = "Use DiskManager::builder() instead")] pub fn try_new(config: DiskManagerConfig) -> Result> { diff --git a/datafusion/execution/src/lib.rs b/datafusion/execution/src/lib.rs index 727e1702741ee..c382e3cc37040 100644 --- a/datafusion/execution/src/lib.rs +++ b/datafusion/execution/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)] //! DataFusion execution configuration and runtime structures diff --git a/datafusion/execution/src/object_store.rs b/datafusion/execution/src/object_store.rs index aedee7d44460d..d48d901c8e957 100644 --- a/datafusion/execution/src/object_store.rs +++ b/datafusion/execution/src/object_store.rs @@ -158,7 +158,7 @@ pub trait ObjectStoreRegistry: Send + Sync + std::fmt::Debug + 'static { /// Deregister the store previously registered with the same key. Returns the /// deregistered store if it existed. - #[allow(unused_variables)] + #[expect(unused_variables)] fn deregister_store(&self, url: &Url) -> Result> { not_impl_err!("ObjectStoreRegistry::deregister_store is not implemented for this ObjectStoreRegistry") } diff --git a/datafusion/execution/src/runtime_env.rs b/datafusion/execution/src/runtime_env.rs index abcbe897d2d35..772516860f53f 100644 --- a/datafusion/execution/src/runtime_env.rs +++ b/datafusion/execution/src/runtime_env.rs @@ -18,7 +18,7 @@ //! Execution [`RuntimeEnv`] environment that manages access to object //! store, memory manager, disk manager. -#[allow(deprecated)] +#[expect(deprecated)] use crate::disk_manager::DiskManagerConfig; use crate::{ disk_manager::{DiskManager, DiskManagerBuilder, DiskManagerMode}, @@ -279,7 +279,7 @@ impl Default for RuntimeEnv { /// See example on [`RuntimeEnv`] #[derive(Clone)] pub struct RuntimeEnvBuilder { - #[allow(deprecated)] + #[expect(deprecated)] /// DiskManager to manage temporary disk file usage pub disk_manager: DiskManagerConfig, /// DiskManager builder to manager temporary disk file usage @@ -317,7 +317,7 @@ impl RuntimeEnvBuilder { } } - #[allow(deprecated)] + #[expect(deprecated)] #[deprecated(since = "48.0.0", note = "Use with_disk_manager_builder instead")] /// Customize disk manager pub fn with_disk_manager(mut self, disk_manager: DiskManagerConfig) -> Self { @@ -406,7 +406,7 @@ impl RuntimeEnvBuilder { disk_manager: if let Some(builder) = disk_manager_builder { Arc::new(builder.build()?) } else { - #[allow(deprecated)] + #[expect(deprecated)] DiskManager::try_new(disk_manager)? }, cache_manager: CacheManager::try_new(&cache_manager)?, @@ -435,7 +435,7 @@ impl RuntimeEnvBuilder { }; Self { - #[allow(deprecated)] + #[expect(deprecated)] disk_manager: DiskManagerConfig::Existing(Arc::clone( &runtime_env.disk_manager, )), diff --git a/datafusion/expr-common/src/dyn_eq.rs b/datafusion/expr-common/src/dyn_eq.rs index e0ebcae4879d6..75d9c06d67f56 100644 --- a/datafusion/expr-common/src/dyn_eq.rs +++ b/datafusion/expr-common/src/dyn_eq.rs @@ -28,7 +28,7 @@ use std::hash::{Hash, Hasher}; /// /// Note: This trait should not be implemented directly. Implement `Eq` and `Any` and use /// the blanket implementation. -#[allow(private_bounds)] +#[expect(private_bounds)] pub trait DynEq: private::EqSealed { fn dyn_eq(&self, other: &dyn Any) -> bool; } @@ -45,7 +45,7 @@ impl DynEq for T { /// /// Note: This trait should not be implemented directly. Implement `Hash` and `Any` and use /// the blanket implementation. -#[allow(private_bounds)] +#[expect(private_bounds)] pub trait DynHash: private::HashSealed { fn dyn_hash(&self, _state: &mut dyn Hasher); } diff --git a/datafusion/expr-common/src/lib.rs b/datafusion/expr-common/src/lib.rs index 0018694d18eeb..2be066beaad24 100644 --- a/datafusion/expr-common/src/lib.rs +++ b/datafusion/expr-common/src/lib.rs @@ -32,6 +32,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 accumulator; pub mod casts; diff --git a/datafusion/expr/src/expr.rs b/datafusion/expr/src/expr.rs index 714925dadc7ab..84ad1528ef174 100644 --- a/datafusion/expr/src/expr.rs +++ b/datafusion/expr/src/expr.rs @@ -2104,7 +2104,7 @@ impl Expr { impl Normalizeable for Expr { fn can_normalize(&self) -> bool { - #[allow(clippy::match_like_matches_macro)] + #[expect(clippy::match_like_matches_macro)] match self { Expr::BinaryExpr(BinaryExpr { op: diff --git a/datafusion/expr/src/lib.rs b/datafusion/expr/src/lib.rs index d71b3230d9704..0743ceacc87ee 100644 --- a/datafusion/expr/src/lib.rs +++ b/datafusion/expr/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)] //! [DataFusion](https://github.com/apache/datafusion) //! is an extensible query execution framework that uses diff --git a/datafusion/expr/src/logical_plan/plan.rs b/datafusion/expr/src/logical_plan/plan.rs index ad9a46b004fca..eb27b261d4159 100644 --- a/datafusion/expr/src/logical_plan/plan.rs +++ b/datafusion/expr/src/logical_plan/plan.rs @@ -3204,6 +3204,7 @@ impl PartialOrd for Analyze { // TODO(clippy): This clippy `allow` should be removed if // the manual `PartialEq` is removed in favor of a derive. // (see `PartialEq` the impl for details.) +#[allow(clippy::allow_attributes)] #[allow(clippy::derived_hash_with_manual_eq)] #[derive(Debug, Clone, Eq, Hash)] pub struct Extension { diff --git a/datafusion/expr/src/ptr_eq.rs b/datafusion/expr/src/ptr_eq.rs index 0bbfba5e8d063..79ea3d7219143 100644 --- a/datafusion/expr/src/ptr_eq.rs +++ b/datafusion/expr/src/ptr_eq.rs @@ -39,7 +39,7 @@ pub fn arc_ptr_hash(a: &Arc, hasher: &mut impl Hasher) { /// /// If you have pointers to a `dyn UDF impl` consider using [`super::udf_eq::UdfEq`]. #[derive(Clone)] -#[allow(private_bounds)] // This is so that PtrEq can only be used with allowed pointer types (e.g. Arc), without allowing misuse. +#[expect(private_bounds)] // This is so that PtrEq can only be used with allowed pointer types (e.g. Arc), without allowing misuse. pub struct PtrEq(Ptr); impl PartialEq for PtrEq> diff --git a/datafusion/expr/src/udf.rs b/datafusion/expr/src/udf.rs index 9dbda6cd0afd1..d7975d79b7a9c 100644 --- a/datafusion/expr/src/udf.rs +++ b/datafusion/expr/src/udf.rs @@ -227,7 +227,7 @@ impl ScalarUDF { #[deprecated(since = "50.0.0", note = "Use `return_field_from_args` instead.")] pub fn is_nullable(&self, args: &[Expr], schema: &dyn ExprSchema) -> bool { - #[allow(deprecated)] + #[expect(deprecated)] self.inner.is_nullable(args, schema) } @@ -901,7 +901,7 @@ impl ScalarUDFImpl for AliasedScalarUDFImpl { } fn is_nullable(&self, args: &[Expr], schema: &dyn ExprSchema) -> bool { - #[allow(deprecated)] + #[expect(deprecated)] self.inner.is_nullable(args, schema) } diff --git a/datafusion/expr/src/udf_eq.rs b/datafusion/expr/src/udf_eq.rs index 6664495267129..30cfb1d831fde 100644 --- a/datafusion/expr/src/udf_eq.rs +++ b/datafusion/expr/src/udf_eq.rs @@ -26,7 +26,7 @@ use std::sync::Arc; /// /// If you want to just compare pointers for equality, use [`super::ptr_eq::PtrEq`]. #[derive(Clone)] -#[allow(private_bounds)] // This is so that UdfEq can only be used with allowed pointer types (e.g. Arc), without allowing misuse. +#[expect(private_bounds)] // This is so that UdfEq can only be used with allowed pointer types (e.g. Arc), without allowing misuse. pub struct UdfEq(Ptr); impl PartialEq for UdfEq diff --git a/datafusion/proto-common/src/from_proto/mod.rs b/datafusion/proto-common/src/from_proto/mod.rs index 1a38ed4363d6f..f54eb4fd8f8f6 100644 --- a/datafusion/proto-common/src/from_proto/mod.rs +++ b/datafusion/proto-common/src/from_proto/mod.rs @@ -930,7 +930,7 @@ impl TryFrom<&protobuf::ParquetOptions> for ParquetOptions { fn try_from( value: &protobuf::ParquetOptions, ) -> datafusion_common::Result { - #[allow(deprecated)] // max_statistics_size + #[expect(deprecated)] // max_statistics_size Ok(ParquetOptions { enable_page_index: value.enable_page_index, pruning: value.pruning, @@ -1014,7 +1014,7 @@ impl TryFrom<&protobuf::ParquetColumnOptions> for ParquetColumnOptions { fn try_from( value: &protobuf::ParquetColumnOptions, ) -> datafusion_common::Result { - #[allow(deprecated)] // max_statistics_size + #[expect(deprecated)] // max_statistics_size Ok(ParquetColumnOptions { compression: value.compression_opt.clone().map(|opt| match opt { protobuf::parquet_column_options::CompressionOpt::Compression(v) => Some(v), diff --git a/datafusion/proto-common/src/generated/mod.rs b/datafusion/proto-common/src/generated/mod.rs index 24a062e4cad59..b0ea3a3ba6949 100644 --- a/datafusion/proto-common/src/generated/mod.rs +++ b/datafusion/proto-common/src/generated/mod.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -#[allow(clippy::all)] +#[expect(clippy::all)] #[rustfmt::skip] pub mod datafusion_proto_common { include!("prost.rs"); diff --git a/datafusion/proto-common/src/lib.rs b/datafusion/proto-common/src/lib.rs index 6f7fb7b89c0c4..b7e1c906d90f5 100644 --- a/datafusion/proto-common/src/lib.rs +++ b/datafusion/proto-common/src/lib.rs @@ -24,6 +24,7 @@ // Make sure fast / cheap clones on Arc are explicit: // https://github.com/apache/datafusion/issues/11143 #![deny(clippy::clone_on_ref_ptr)] +#![deny(clippy::allow_attributes)] //! Serialize / Deserialize DataFusion Primitive Types to bytes //! From 829c0800d09c40d39a40edfa4d35e0c3c348855c Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Sat, 6 Dec 2025 23:34:53 +0800 Subject: [PATCH 2/8] fix: CI errors --- datafusion/doc/src/lib.rs | 1 - datafusion/execution/src/disk_manager.rs | 10 ++-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/datafusion/doc/src/lib.rs b/datafusion/doc/src/lib.rs index 29ab19f47b15c..557aab615c421 100644 --- a/datafusion/doc/src/lib.rs +++ b/datafusion/doc/src/lib.rs @@ -16,7 +16,6 @@ // under the License. #![deny(clippy::allow_attributes)] -#![cfg_attr(test, expect(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" diff --git a/datafusion/execution/src/disk_manager.rs b/datafusion/execution/src/disk_manager.rs index 893e9ce77bc90..13a54efe98164 100644 --- a/datafusion/execution/src/disk_manager.rs +++ b/datafusion/execution/src/disk_manager.rs @@ -115,8 +115,6 @@ pub enum DiskManagerMode { } /// Configuration for temporary disk access -#[allow(clippy::allow_attributes)] -#[allow(deprecated)] #[deprecated(since = "48.0.0", note = "Use DiskManagerBuilder instead")] #[derive(Debug, Clone, Default)] pub enum DiskManagerConfig { @@ -125,8 +123,6 @@ pub enum DiskManagerConfig { /// Create a new [DiskManager] that creates temporary files within /// a temporary directory chosen by the OS - #[allow(clippy::allow_attributes)] - #[allow(deprecated)] #[default] NewOs, @@ -138,8 +134,7 @@ pub enum DiskManagerConfig { Disabled, } -#[allow(clippy::allow_attributes)] -#[allow(deprecated)] +#[expect(deprecated)] impl DiskManagerConfig { /// Create temporary files in a temporary directory chosen by the OS pub fn new() -> Self { @@ -181,8 +176,7 @@ impl DiskManager { } /// Create a DiskManager given the configuration -#[allow(clippy::allow_attributes)] - #[allow(deprecated)] + #[expect(deprecated)] #[deprecated(since = "48.0.0", note = "Use DiskManager::builder() instead")] pub fn try_new(config: DiskManagerConfig) -> Result> { match config { From c7f02f667f7683e0d5e4825cb48e8b9f7fdc40a4 Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Sun, 7 Dec 2025 16:06:22 +0800 Subject: [PATCH 3/8] fix: CI errors --- datafusion/execution/src/disk_manager.rs | 2 ++ datafusion/proto-common/src/from_proto/mod.rs | 2 -- datafusion/proto-common/src/generated/mod.rs | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/datafusion/execution/src/disk_manager.rs b/datafusion/execution/src/disk_manager.rs index 13a54efe98164..cb87053d8d035 100644 --- a/datafusion/execution/src/disk_manager.rs +++ b/datafusion/execution/src/disk_manager.rs @@ -117,6 +117,8 @@ pub enum DiskManagerMode { /// Configuration for temporary disk access #[deprecated(since = "48.0.0", note = "Use DiskManagerBuilder instead")] #[derive(Debug, Clone, Default)] +#[allow(clippy::allow_attributes)] +#[allow(deprecated)] pub enum DiskManagerConfig { /// Use the provided [DiskManager] instance Existing(Arc), diff --git a/datafusion/proto-common/src/from_proto/mod.rs b/datafusion/proto-common/src/from_proto/mod.rs index 6fefa872eb356..23395ba18db39 100644 --- a/datafusion/proto-common/src/from_proto/mod.rs +++ b/datafusion/proto-common/src/from_proto/mod.rs @@ -930,7 +930,6 @@ impl TryFrom<&protobuf::ParquetOptions> for ParquetOptions { fn try_from( value: &protobuf::ParquetOptions, ) -> datafusion_common::Result { - #[expect(deprecated)] // max_statistics_size Ok(ParquetOptions { enable_page_index: value.enable_page_index, pruning: value.pruning, @@ -1015,7 +1014,6 @@ impl TryFrom<&protobuf::ParquetColumnOptions> for ParquetColumnOptions { fn try_from( value: &protobuf::ParquetColumnOptions, ) -> datafusion_common::Result { - #[expect(deprecated)] // max_statistics_size Ok(ParquetColumnOptions { compression: value.compression_opt.clone().map(|opt| match opt { protobuf::parquet_column_options::CompressionOpt::Compression(v) => Some(v), diff --git a/datafusion/proto-common/src/generated/mod.rs b/datafusion/proto-common/src/generated/mod.rs index b0ea3a3ba6949..05cfd99daebae 100644 --- a/datafusion/proto-common/src/generated/mod.rs +++ b/datafusion/proto-common/src/generated/mod.rs @@ -15,7 +15,6 @@ // specific language governing permissions and limitations // under the License. -#[expect(clippy::all)] #[rustfmt::skip] pub mod datafusion_proto_common { include!("prost.rs"); From a2064f3ba675a1ebda222d63fee16b1a061d1de5 Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Sun, 7 Dec 2025 18:57:04 +0800 Subject: [PATCH 4/8] fix: CI errors --- datafusion/catalog-listing/src/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index 9cc941367d9dd..453e077105a2d 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -16,7 +16,6 @@ // under the License. #![deny(clippy::allow_attributes)] -#![cfg_attr(test, expect(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" From ec4108fd934f8f199271d3a247920ea6524e5a29 Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Mon, 8 Dec 2025 19:47:52 +0800 Subject: [PATCH 5/8] fix: restore #[allow(clippy::all)] --- datafusion/proto-common/src/generated/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/datafusion/proto-common/src/generated/mod.rs b/datafusion/proto-common/src/generated/mod.rs index 05cfd99daebae..08cd75b622db3 100644 --- a/datafusion/proto-common/src/generated/mod.rs +++ b/datafusion/proto-common/src/generated/mod.rs @@ -15,6 +15,8 @@ // specific language governing permissions and limitations // under the License. +#[allow(clippy::allow_attributes)] +#[allow(clippy::all)] #[rustfmt::skip] pub mod datafusion_proto_common { include!("prost.rs"); From a59f2f84f81ff299ff0b8df53496ce0779829a87 Mon Sep 17 00:00:00 2001 From: Jackie Yan Date: Thu, 11 Dec 2025 08:21:54 +0800 Subject: [PATCH 6/8] fix: restore #[allow(clippy::)] --- datafusion/catalog-listing/src/mod.rs | 2 ++ datafusion/core/src/lib.rs | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index 453e077105a2d..b00fc955d11b4 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -16,6 +16,8 @@ // under the License. #![deny(clippy::allow_attributes)] +#![allow(clippy::allow_attributes)] +#![cfg_attr(test, allow(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs index 12f6d9d385baf..1f46a29cb8809 100644 --- a/datafusion/core/src/lib.rs +++ b/datafusion/core/src/lib.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -#![deny(clippy::allow_attributes)] +#![allow(clippy::allow_attributes)] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" @@ -36,7 +36,9 @@ ) )] #![warn(missing_docs, clippy::needless_borrow)] -#![cfg_attr(test, expect(clippy::needless_pass_by_value))] +// Use `allow` instead of `expect` for test configuration to explicitly +// disable the lint for all test code rather than expecting violations +#![cfg_attr(test, allow(clippy::needless_pass_by_value))] //! [DataFusion] is an extensible query engine written in Rust that //! uses [Apache Arrow] as its in-memory format. DataFusion's target users are From 49d593d7b0a0b9db0701fe502b8787a133ba4338 Mon Sep 17 00:00:00 2001 From: chakkk309 Date: Thu, 11 Dec 2025 09:47:52 +0800 Subject: [PATCH 7/8] style: remove trailing whitespace in comment --- datafusion/core/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs index 1f46a29cb8809..886cd50446a54 100644 --- a/datafusion/core/src/lib.rs +++ b/datafusion/core/src/lib.rs @@ -36,7 +36,7 @@ ) )] #![warn(missing_docs, clippy::needless_borrow)] -// Use `allow` instead of `expect` for test configuration to explicitly +// Use `allow` instead of `expect` for test configuration to explicitly // disable the lint for all test code rather than expecting violations #![cfg_attr(test, allow(clippy::needless_pass_by_value))] From 27835f5e738433c851bea10cebfde31e345aeded Mon Sep 17 00:00:00 2001 From: Jefffrey Date: Thu, 11 Dec 2025 22:13:55 +0900 Subject: [PATCH 8/8] minor fixes --- datafusion/catalog-listing/src/mod.rs | 1 - datafusion/core/src/lib.rs | 2 +- datafusion/doc/src/lib.rs | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index b00fc955d11b4..dfb193317b179 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -16,7 +16,6 @@ // under the License. #![deny(clippy::allow_attributes)] -#![allow(clippy::allow_attributes)] #![cfg_attr(test, allow(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs index 886cd50446a54..e83934a8e281d 100644 --- a/datafusion/core/src/lib.rs +++ b/datafusion/core/src/lib.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -#![allow(clippy::allow_attributes)] +#![deny(clippy::allow_attributes)] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" diff --git a/datafusion/doc/src/lib.rs b/datafusion/doc/src/lib.rs index 557aab615c421..836cb9345b51f 100644 --- a/datafusion/doc/src/lib.rs +++ b/datafusion/doc/src/lib.rs @@ -16,6 +16,7 @@ // under the License. #![deny(clippy::allow_attributes)] +#![cfg_attr(test, allow(clippy::needless_pass_by_value))] #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg"