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]