From 1c065d1a47964d03e9f773ce286e6ac2753a7f12 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 17 Mar 2025 16:27:56 -0400 Subject: [PATCH 1/4] Minor: consistently apply `clippy::clone_on_ref_ptr` in all crates --- datafusion/catalog-listing/src/mod.rs | 1 + datafusion/catalog/src/lib.rs | 1 + datafusion/datasource-avro/src/mod.rs | 1 + datafusion/datasource-csv/src/mod.rs | 2 ++ datafusion/datasource-json/src/mod.rs | 1 + datafusion/datasource-parquet/src/mod.rs | 2 ++ datafusion/datasource/src/mod.rs | 1 + datafusion/functions-table/src/lib.rs | 1 + datafusion/functions-window-common/src/lib.rs | 1 + datafusion/functions-window/src/lib.rs | 1 + datafusion/sqllogictest/src/lib.rs | 1 + datafusion/substrait/src/lib.rs | 1 + 12 files changed, 14 insertions(+) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index cb0d86d8666e..bccb87c38f73 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -20,5 +20,6 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![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 cf7dd4b067dd..20588c9357fb 100644 --- a/datafusion/catalog/src/lib.rs +++ b/datafusion/catalog/src/lib.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))] //! Interfaces and default implementations of catalogs and schemas. //! diff --git a/datafusion/datasource-avro/src/mod.rs b/datafusion/datasource-avro/src/mod.rs index 7d00b14e5119..1d6f70a59942 100644 --- a/datafusion/datasource-avro/src/mod.rs +++ b/datafusion/datasource-avro/src/mod.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![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 4117d1fee5fc..8d717df74690 100644 --- a/datafusion/datasource-csv/src/mod.rs +++ b/datafusion/datasource-csv/src/mod.rs @@ -15,6 +15,8 @@ // specific language governing permissions and limitations // under the License. +#![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 35dabfa109fc..a403a79926bb 100644 --- a/datafusion/datasource-json/src/mod.rs +++ b/datafusion/datasource-json/src/mod.rs @@ -14,6 +14,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. +#![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 fb1f2d55169f..71b218807764 100644 --- a/datafusion/datasource-parquet/src/mod.rs +++ b/datafusion/datasource-parquet/src/mod.rs @@ -15,6 +15,8 @@ // specific language governing permissions and limitations // under the License. +#![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 240e3c82bbfc..e1c734ee7eab 100644 --- a/datafusion/datasource/src/mod.rs +++ b/datafusion/datasource/src/mod.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![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/functions-table/src/lib.rs b/datafusion/functions-table/src/lib.rs index 311b9d310f39..f361f4850428 100644 --- a/datafusion/functions-table/src/lib.rs +++ b/datafusion/functions-table/src/lib.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![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 6f2a1ac0f33f..f8c2b1570d1d 100644 --- a/datafusion/functions-window-common/src/lib.rs +++ b/datafusion/functions-window-common/src/lib.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![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 718b0bf1587b..7662ab5b5615 100644 --- a/datafusion/functions-window/src/lib.rs +++ b/datafusion/functions-window/src/lib.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))] //! Window Function packages for [DataFusion]. //! diff --git a/datafusion/sqllogictest/src/lib.rs b/datafusion/sqllogictest/src/lib.rs index ee20e70d14f4..def471677e4d 100644 --- a/datafusion/sqllogictest/src/lib.rs +++ b/datafusion/sqllogictest/src/lib.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![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 a7493a48e4c5..c8076ef77a8b 100644 --- a/datafusion/substrait/src/lib.rs +++ b/datafusion/substrait/src/lib.rs @@ -20,6 +20,7 @@ html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(not(test), deny(clippy::clone_on_ref_ptr))] //! Serialize / Deserialize DataFusion Plans to [Substrait.io] //! From e10862fc773119fc87b9b7225814005ecfeeb3d8 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 17 Mar 2025 16:30:07 -0400 Subject: [PATCH 2/4] Fix clippy lints --- datafusion/catalog/src/session.rs | 2 +- datafusion/functions-table/src/generate_series.rs | 11 ++++++----- datafusion/substrait/src/logical_plan/consumer.rs | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/datafusion/catalog/src/session.rs b/datafusion/catalog/src/session.rs index 9dd870e43568..27177e2393c8 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/functions-table/src/generate_series.rs b/datafusion/functions-table/src/generate_series.rs index df8357ee1974..5bb56f28bc8d 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/substrait/src/logical_plan/consumer.rs b/datafusion/substrait/src/logical_plan/consumer.rs index 24eb23ded5a7..ee47d4ab8834 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 { 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())?); } From 50a2ab9431e1466be618ca2b96d8f7713b87f3cb Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 17 Mar 2025 20:31:55 -0400 Subject: [PATCH 3/4] Improve comments --- datafusion/catalog-listing/src/mod.rs | 4 +++- datafusion/catalog/src/lib.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 | 2 ++ datafusion/datasource-csv/src/mod.rs | 2 ++ datafusion/datasource-json/src/mod.rs | 3 +++ datafusion/datasource-parquet/src/mod.rs | 2 ++ datafusion/datasource/src/mod.rs | 2 ++ 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/lib.rs | 2 ++ datafusion/functions-window-common/src/lib.rs | 2 ++ datafusion/functions-window/src/lib.rs | 2 ++ 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 | 2 ++ datafusion/substrait/src/lib.rs | 2 ++ 31 files changed, 64 insertions(+), 20 deletions(-) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index bccb87c38f73..90dee49e5deb 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -13,13 +13,15 @@ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations -// under the License. +// under the License.xz #![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" )] #![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 20588c9357fb..e4ccba865189 100644 --- a/datafusion/catalog/src/lib.rs +++ b/datafusion/catalog/src/lib.rs @@ -20,6 +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))] //! Interfaces and default implementations of catalogs and schemas. diff --git a/datafusion/common-runtime/src/lib.rs b/datafusion/common-runtime/src/lib.rs index 7bd8dc4cfe36..0a389c28e295 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 d5b7c22a546c..b137624532b9 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 c2ac2f76013d..803ec66eaab3 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 1d6f70a59942..71996f3f0eaa 100644 --- a/datafusion/datasource-avro/src/mod.rs +++ b/datafusion/datasource-avro/src/mod.rs @@ -20,6 +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))] //! 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 8d717df74690..90c3689cd1c0 100644 --- a/datafusion/datasource-csv/src/mod.rs +++ b/datafusion/datasource-csv/src/mod.rs @@ -15,6 +15,8 @@ // 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; diff --git a/datafusion/datasource-json/src/mod.rs b/datafusion/datasource-json/src/mod.rs index a403a79926bb..18bb8792c3ff 100644 --- a/datafusion/datasource-json/src/mod.rs +++ b/datafusion/datasource-json/src/mod.rs @@ -14,6 +14,9 @@ // KIND, either express or implied. See the License for the // 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; diff --git a/datafusion/datasource-parquet/src/mod.rs b/datafusion/datasource-parquet/src/mod.rs index 71b218807764..cecee0031715 100644 --- a/datafusion/datasource-parquet/src/mod.rs +++ b/datafusion/datasource-parquet/src/mod.rs @@ -15,6 +15,8 @@ // 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 diff --git a/datafusion/datasource/src/mod.rs b/datafusion/datasource/src/mod.rs index e1c734ee7eab..15e25ca386cf 100644 --- a/datafusion/datasource/src/mod.rs +++ b/datafusion/datasource/src/mod.rs @@ -20,6 +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))] //! A table that uses the `ObjectStore` listing capability diff --git a/datafusion/execution/src/lib.rs b/datafusion/execution/src/lib.rs index a9e3a27f8035..6a0a4b6322ee 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 ee40038beb21..961670a3b7f4 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 d951ca96b68c..d3cc881af361 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 4eabf91d892a..246e93e026ba 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 6f9dfca30c19..da718e7ceefe 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 a5c84298e9d5..7944280291eb 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 446cd58865c3..c9a61d98cd44 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/lib.rs b/datafusion/functions-table/src/lib.rs index f361f4850428..36fcdc7ede56 100644 --- a/datafusion/functions-table/src/lib.rs +++ b/datafusion/functions-table/src/lib.rs @@ -20,6 +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 generate_series; diff --git a/datafusion/functions-window-common/src/lib.rs b/datafusion/functions-window-common/src/lib.rs index f8c2b1570d1d..7f668a20a76a 100644 --- a/datafusion/functions-window-common/src/lib.rs +++ b/datafusion/functions-window-common/src/lib.rs @@ -20,6 +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))] //! Common user-defined window functionality for [DataFusion] diff --git a/datafusion/functions-window/src/lib.rs b/datafusion/functions-window/src/lib.rs index 7662ab5b5615..10e09542d7c5 100644 --- a/datafusion/functions-window/src/lib.rs +++ b/datafusion/functions-window/src/lib.rs @@ -20,6 +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))] //! Window Function packages for [DataFusion]. diff --git a/datafusion/functions/src/lib.rs b/datafusion/functions/src/lib.rs index de2571779d42..7753b9a6dc8c 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 ce198560805a..893cb249a2a8 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 440f044d88eb..86d4487f4c12 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 3671eaef1332..e52c686cd948 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 2613b95bbdc0..35503f3b0b5f 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 7c6cac0a36c8..bc2017fb20d3 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 56cd42ee5067..6400e4bdc66d 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 5d84be1cff55..2df162f21e3a 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 d552efa8254c..7e11f160a397 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 def471677e4d..1a208aa3fac2 100644 --- a/datafusion/sqllogictest/src/lib.rs +++ b/datafusion/sqllogictest/src/lib.rs @@ -20,6 +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))] //! DataFusion sqllogictest driver diff --git a/datafusion/substrait/src/lib.rs b/datafusion/substrait/src/lib.rs index c8076ef77a8b..0f2fbf199be3 100644 --- a/datafusion/substrait/src/lib.rs +++ b/datafusion/substrait/src/lib.rs @@ -20,6 +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))] //! Serialize / Deserialize DataFusion Plans to [Substrait.io] From aed4c1a394f3960bb909df2c4b01124b515bbc0d Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 17 Mar 2025 20:33:28 -0400 Subject: [PATCH 4/4] fix header --- datafusion/catalog-listing/src/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/catalog-listing/src/mod.rs b/datafusion/catalog-listing/src/mod.rs index 90dee49e5deb..fb0a960f37b6 100644 --- a/datafusion/catalog-listing/src/mod.rs +++ b/datafusion/catalog-listing/src/mod.rs @@ -13,7 +13,7 @@ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations -// under the License.xz +// under the License. #![doc( html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg",