This is an automated email from the ASF dual-hosted git repository.

berkay pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new d2a395c674 Minor: consistently apply `clippy::clone_on_ref_ptr` in all 
crates (#15284)
d2a395c674 is described below

commit d2a395c674c8f96ce9144327792cc86d27d9b0da
Author: Andrew Lamb <[email protected]>
AuthorDate: Tue Mar 18 03:30:46 2025 -0400

    Minor: consistently apply `clippy::clone_on_ref_ptr` in all crates (#15284)
    
    * Minor: consistently apply `clippy::clone_on_ref_ptr` in all crates
    
    * Fix clippy lints
    
    * Improve comments
    
    * fix header
---
 datafusion/catalog-listing/src/mod.rs             |  3 +++
 datafusion/catalog/src/lib.rs                     |  3 +++
 datafusion/catalog/src/session.rs                 |  2 +-
 datafusion/common-runtime/src/lib.rs              |  3 ++-
 datafusion/common/src/lib.rs                      |  3 ++-
 datafusion/core/src/lib.rs                        |  3 ++-
 datafusion/datasource-avro/src/mod.rs             |  3 +++
 datafusion/datasource-csv/src/mod.rs              |  4 ++++
 datafusion/datasource-json/src/mod.rs             |  4 ++++
 datafusion/datasource-parquet/src/mod.rs          |  4 ++++
 datafusion/datasource/src/mod.rs                  |  3 +++
 datafusion/execution/src/lib.rs                   |  3 ++-
 datafusion/expr-common/src/lib.rs                 |  3 ++-
 datafusion/expr/src/lib.rs                        |  3 ++-
 datafusion/ffi/src/lib.rs                         |  3 ++-
 datafusion/functions-aggregate-common/src/lib.rs  |  3 ++-
 datafusion/functions-aggregate/src/lib.rs         |  3 ++-
 datafusion/functions-nested/src/lib.rs            |  3 ++-
 datafusion/functions-table/src/generate_series.rs | 11 ++++++-----
 datafusion/functions-table/src/lib.rs             |  3 +++
 datafusion/functions-window-common/src/lib.rs     |  3 +++
 datafusion/functions-window/src/lib.rs            |  3 +++
 datafusion/functions/src/lib.rs                   |  3 ++-
 datafusion/optimizer/src/lib.rs                   |  3 ++-
 datafusion/physical-expr-common/src/lib.rs        |  3 ++-
 datafusion/physical-expr/src/lib.rs               |  3 ++-
 datafusion/physical-optimizer/src/lib.rs          |  3 ++-
 datafusion/physical-plan/src/lib.rs               |  3 ++-
 datafusion/proto-common/src/lib.rs                |  3 ++-
 datafusion/proto/src/lib.rs                       |  3 ++-
 datafusion/sql/src/lib.rs                         |  3 ++-
 datafusion/sqllogictest/src/lib.rs                |  3 +++
 datafusion/substrait/src/lib.rs                   |  3 +++
 datafusion/substrait/src/logical_plan/consumer.rs |  4 ++--
 34 files changed, 86 insertions(+), 27 deletions(-)

diff --git a/datafusion/catalog-listing/src/mod.rs 
b/datafusion/catalog-listing/src/mod.rs
index cb0d86d866..fb0a960f37 100644
--- a/datafusion/catalog-listing/src/mod.rs
+++ b/datafusion/catalog-listing/src/mod.rs
@@ -20,5 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 pub mod helpers;
diff --git a/datafusion/catalog/src/lib.rs b/datafusion/catalog/src/lib.rs
index cf7dd4b067..e4ccba8651 100644
--- a/datafusion/catalog/src/lib.rs
+++ b/datafusion/catalog/src/lib.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! Interfaces and default implementations of catalogs and schemas.
 //!
diff --git a/datafusion/catalog/src/session.rs 
b/datafusion/catalog/src/session.rs
index 9dd870e435..27177e2393 100644
--- a/datafusion/catalog/src/session.rs
+++ b/datafusion/catalog/src/session.rs
@@ -145,7 +145,7 @@ impl From<&dyn Session> for TaskContext {
             state.scalar_functions().clone(),
             state.aggregate_functions().clone(),
             state.window_functions().clone(),
-            state.runtime_env().clone(),
+            Arc::clone(state.runtime_env()),
         )
     }
 }
diff --git a/datafusion/common-runtime/src/lib.rs 
b/datafusion/common-runtime/src/lib.rs
index 7bd8dc4cfe..0a389c28e2 100644
--- a/datafusion/common-runtime/src/lib.rs
+++ b/datafusion/common-runtime/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 pub mod common;
diff --git a/datafusion/common/src/lib.rs b/datafusion/common/src/lib.rs
index d5b7c22a54..b137624532 100644
--- a/datafusion/common/src/lib.rs
+++ b/datafusion/common/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 mod column;
diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs
index c2ac2f7601..803ec66eaa 100644
--- a/datafusion/core/src/lib.rs
+++ b/datafusion/core/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 #![warn(missing_docs, clippy::needless_borrow)]
 
diff --git a/datafusion/datasource-avro/src/mod.rs 
b/datafusion/datasource-avro/src/mod.rs
index 7d00b14e51..71996f3f0e 100644
--- a/datafusion/datasource-avro/src/mod.rs
+++ b/datafusion/datasource-avro/src/mod.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! An [Avro](https://avro.apache.org/) based 
[`FileSource`](datafusion_datasource::file::FileSource) implementation and 
related functionality.
 
diff --git a/datafusion/datasource-csv/src/mod.rs 
b/datafusion/datasource-csv/src/mod.rs
index 4117d1fee5..90c3689cd1 100644
--- a/datafusion/datasource-csv/src/mod.rs
+++ b/datafusion/datasource-csv/src/mod.rs
@@ -15,6 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
+
 pub mod file_format;
 pub mod source;
 
diff --git a/datafusion/datasource-json/src/mod.rs 
b/datafusion/datasource-json/src/mod.rs
index 35dabfa109..18bb8792c3 100644
--- a/datafusion/datasource-json/src/mod.rs
+++ b/datafusion/datasource-json/src/mod.rs
@@ -15,6 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
+
 pub mod file_format;
 pub mod source;
 
diff --git a/datafusion/datasource-parquet/src/mod.rs 
b/datafusion/datasource-parquet/src/mod.rs
index fb1f2d5516..cecee00317 100644
--- a/datafusion/datasource-parquet/src/mod.rs
+++ b/datafusion/datasource-parquet/src/mod.rs
@@ -15,6 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
+
 //! [`ParquetExec`] FileSource for reading Parquet files
 
 pub mod access_plan;
diff --git a/datafusion/datasource/src/mod.rs b/datafusion/datasource/src/mod.rs
index 240e3c82bb..15e25ca386 100644
--- a/datafusion/datasource/src/mod.rs
+++ b/datafusion/datasource/src/mod.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! A table that uses the `ObjectStore` listing capability
 //! to get the list of files to process.
diff --git a/datafusion/execution/src/lib.rs b/datafusion/execution/src/lib.rs
index a9e3a27f80..6a0a4b6322 100644
--- a/datafusion/execution/src/lib.rs
+++ b/datafusion/execution/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! DataFusion execution configuration and runtime structures
diff --git a/datafusion/expr-common/src/lib.rs 
b/datafusion/expr-common/src/lib.rs
index ee40038beb..961670a3b7 100644
--- a/datafusion/expr-common/src/lib.rs
+++ b/datafusion/expr-common/src/lib.rs
@@ -28,7 +28,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 pub mod accumulator;
diff --git a/datafusion/expr/src/lib.rs b/datafusion/expr/src/lib.rs
index d951ca96b6..d3cc881af3 100644
--- a/datafusion/expr/src/lib.rs
+++ b/datafusion/expr/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! [DataFusion](https://github.com/apache/datafusion)
diff --git a/datafusion/ffi/src/lib.rs b/datafusion/ffi/src/lib.rs
index 4eabf91d89..246e93e026 100644
--- a/datafusion/ffi/src/lib.rs
+++ b/datafusion/ffi/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 pub mod arrow_wrappers;
diff --git a/datafusion/functions-aggregate-common/src/lib.rs 
b/datafusion/functions-aggregate-common/src/lib.rs
index 6f9dfca30c..da718e7cee 100644
--- a/datafusion/functions-aggregate-common/src/lib.rs
+++ b/datafusion/functions-aggregate-common/src/lib.rs
@@ -27,7 +27,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 pub mod accumulator;
diff --git a/datafusion/functions-aggregate/src/lib.rs 
b/datafusion/functions-aggregate/src/lib.rs
index a5c84298e9..7944280291 100644
--- a/datafusion/functions-aggregate/src/lib.rs
+++ b/datafusion/functions-aggregate/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Aggregate Function packages for [DataFusion].
diff --git a/datafusion/functions-nested/src/lib.rs 
b/datafusion/functions-nested/src/lib.rs
index 446cd58865..c9a61d98cd 100644
--- a/datafusion/functions-nested/src/lib.rs
+++ b/datafusion/functions-nested/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Nested type Functions for [DataFusion].
diff --git a/datafusion/functions-table/src/generate_series.rs 
b/datafusion/functions-table/src/generate_series.rs
index df8357ee19..5bb56f28bc 100644
--- a/datafusion/functions-table/src/generate_series.rs
+++ b/datafusion/functions-table/src/generate_series.rs
@@ -114,7 +114,8 @@ impl LazyBatchGenerator for GenerateSeriesState {
             return Ok(None);
         }
 
-        let batch = RecordBatch::try_new(self.schema.clone(), 
vec![Arc::new(array)])?;
+        let batch =
+            RecordBatch::try_new(Arc::clone(&self.schema), 
vec![Arc::new(array)])?;
 
         Ok(Some(batch))
     }
@@ -127,7 +128,7 @@ impl TableProvider for GenerateSeriesTable {
     }
 
     fn schema(&self) -> SchemaRef {
-        self.schema.clone()
+        Arc::clone(&self.schema)
     }
 
     fn table_type(&self) -> TableType {
@@ -146,7 +147,7 @@ impl TableProvider for GenerateSeriesTable {
         let state = match self.args {
             // if args have null, then return 0 row
             GenSeriesArgs::ContainsNull { include_end, name } => 
GenerateSeriesState {
-                schema: self.schema.clone(),
+                schema: self.schema(),
                 start: 0,
                 end: 0,
                 step: 1,
@@ -162,7 +163,7 @@ impl TableProvider for GenerateSeriesTable {
                 include_end,
                 name,
             } => GenerateSeriesState {
-                schema: self.schema.clone(),
+                schema: self.schema(),
                 start,
                 end,
                 step,
@@ -174,7 +175,7 @@ impl TableProvider for GenerateSeriesTable {
         };
 
         Ok(Arc::new(LazyMemoryExec::try_new(
-            self.schema.clone(),
+            self.schema(),
             vec![Arc::new(RwLock::new(state))],
         )?))
     }
diff --git a/datafusion/functions-table/src/lib.rs 
b/datafusion/functions-table/src/lib.rs
index 311b9d310f..36fcdc7ede 100644
--- a/datafusion/functions-table/src/lib.rs
+++ b/datafusion/functions-table/src/lib.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 pub mod generate_series;
 
diff --git a/datafusion/functions-window-common/src/lib.rs 
b/datafusion/functions-window-common/src/lib.rs
index 6f2a1ac0f3..7f668a20a7 100644
--- a/datafusion/functions-window-common/src/lib.rs
+++ b/datafusion/functions-window-common/src/lib.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! Common user-defined window functionality for [DataFusion]
 //!
diff --git a/datafusion/functions-window/src/lib.rs 
b/datafusion/functions-window/src/lib.rs
index 718b0bf158..10e09542d7 100644
--- a/datafusion/functions-window/src/lib.rs
+++ b/datafusion/functions-window/src/lib.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! Window Function packages for [DataFusion].
 //!
diff --git a/datafusion/functions/src/lib.rs b/datafusion/functions/src/lib.rs
index de2571779d..7753b9a6dc 100644
--- a/datafusion/functions/src/lib.rs
+++ b/datafusion/functions/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Function packages for [DataFusion].
diff --git a/datafusion/optimizer/src/lib.rs b/datafusion/optimizer/src/lib.rs
index ce19856080..893cb249a2 100644
--- a/datafusion/optimizer/src/lib.rs
+++ b/datafusion/optimizer/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! # DataFusion Optimizer
diff --git a/datafusion/physical-expr-common/src/lib.rs 
b/datafusion/physical-expr-common/src/lib.rs
index 440f044d88..86d4487f4c 100644
--- a/datafusion/physical-expr-common/src/lib.rs
+++ b/datafusion/physical-expr-common/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Physical Expr Common packages for [DataFusion]
diff --git a/datafusion/physical-expr/src/lib.rs 
b/datafusion/physical-expr/src/lib.rs
index 3671eaef13..e52c686cd9 100644
--- a/datafusion/physical-expr/src/lib.rs
+++ b/datafusion/physical-expr/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 // Backward compatibility
diff --git a/datafusion/physical-optimizer/src/lib.rs 
b/datafusion/physical-optimizer/src/lib.rs
index 2613b95bbd..35503f3b0b 100644
--- a/datafusion/physical-optimizer/src/lib.rs
+++ b/datafusion/physical-optimizer/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 pub mod aggregate_statistics;
diff --git a/datafusion/physical-plan/src/lib.rs 
b/datafusion/physical-plan/src/lib.rs
index 7c6cac0a36..bc2017fb20 100644
--- a/datafusion/physical-plan/src/lib.rs
+++ b/datafusion/physical-plan/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Traits for physical query plan, supporting parallel execution for 
partitioned relations.
diff --git a/datafusion/proto-common/src/lib.rs 
b/datafusion/proto-common/src/lib.rs
index 56cd42ee50..6400e4bdc6 100644
--- a/datafusion/proto-common/src/lib.rs
+++ b/datafusion/proto-common/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Serialize / Deserialize DataFusion Primitive Types to bytes
diff --git a/datafusion/proto/src/lib.rs b/datafusion/proto/src/lib.rs
index 5d84be1cff..2df162f21e 100644
--- a/datafusion/proto/src/lib.rs
+++ b/datafusion/proto/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! Serialize / Deserialize DataFusion Plans to bytes
diff --git a/datafusion/sql/src/lib.rs b/datafusion/sql/src/lib.rs
index d552efa825..7e11f160a3 100644
--- a/datafusion/sql/src/lib.rs
+++ b/datafusion/sql/src/lib.rs
@@ -20,7 +20,8 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
-// Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
 //! This crate provides:
diff --git a/datafusion/sqllogictest/src/lib.rs 
b/datafusion/sqllogictest/src/lib.rs
index ee20e70d14..1a208aa3fa 100644
--- a/datafusion/sqllogictest/src/lib.rs
+++ b/datafusion/sqllogictest/src/lib.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! DataFusion sqllogictest driver
 
diff --git a/datafusion/substrait/src/lib.rs b/datafusion/substrait/src/lib.rs
index a7493a48e4..0f2fbf199b 100644
--- a/datafusion/substrait/src/lib.rs
+++ b/datafusion/substrait/src/lib.rs
@@ -20,6 +20,9 @@
     html_favicon_url = 
"https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg";
 )]
 #![cfg_attr(docsrs, feature(doc_auto_cfg))]
+// Make sure fast / cheap clones on Arc are explicit:
+// https://github.com/apache/datafusion/issues/11143
+#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))]
 
 //! Serialize / Deserialize DataFusion Plans to [Substrait.io]
 //!
diff --git a/datafusion/substrait/src/logical_plan/consumer.rs 
b/datafusion/substrait/src/logical_plan/consumer.rs
index 24eb23ded5..ee47d4ab88 100644
--- a/datafusion/substrait/src/logical_plan/consumer.rs
+++ b/datafusion/substrait/src/logical_plan/consumer.rs
@@ -1060,7 +1060,7 @@ pub async fn from_project_rel(
 ) -> Result<LogicalPlan> {
     if let Some(input) = p.input.as_ref() {
         let mut input = 
LogicalPlanBuilder::from(consumer.consume_rel(input).await?);
-        let original_schema = input.schema().clone();
+        let original_schema = Arc::clone(input.schema());
 
         // Ensure that all expressions have a unique display name, so that
         // validate_unique_names does not fail when constructing the project.
@@ -1626,7 +1626,7 @@ fn apply_emit_kind(
                             .get(field as usize)
                             .ok_or_else(|| substrait_datafusion_err!(
                                   "Emit output field {} cannot be resolved in 
input schema {}",
-                                  field, proj.input.schema().clone()
+                                  field, proj.input.schema()
                                 ))?;
                         
exprs.push(name_tracker.get_uniquely_named_expr(expr.clone())?);
                     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to