From 64de6ddd6c7d776aa94bf3464e912383274048c3 Mon Sep 17 00:00:00 2001 From: Peter Toth Date: Sat, 25 May 2024 15:01:18 +0200 Subject: [PATCH] Minor: Use slice in `ConcreteTreeNode` --- datafusion/common/src/tree_node.rs | 4 ++-- datafusion/physical-expr-common/src/tree_node.rs | 4 ++-- datafusion/physical-plan/src/tree_node.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/datafusion/common/src/tree_node.rs b/datafusion/common/src/tree_node.rs index 9d42f4fb1e0d..f0e889e7cf74 100644 --- a/datafusion/common/src/tree_node.rs +++ b/datafusion/common/src/tree_node.rs @@ -903,7 +903,7 @@ impl TreeNode for Arc { /// involving payloads, by enforcing rules for detaching and reattaching child nodes. pub trait ConcreteTreeNode: Sized { /// Provides read-only access to child nodes. - fn children(&self) -> Vec<&Self>; + fn children(&self) -> &[Self]; /// Detaches the node from its children, returning the node itself and its detached children. fn take_children(self) -> (Self, Vec); @@ -917,7 +917,7 @@ impl TreeNode for T { &self, f: F, ) -> Result { - self.children().into_iter().apply_until_stop(f) + self.children().iter().apply_until_stop(f) } fn map_children Result>>( diff --git a/datafusion/physical-expr-common/src/tree_node.rs b/datafusion/physical-expr-common/src/tree_node.rs index 42dc6673af6a..5de6457b8e5e 100644 --- a/datafusion/physical-expr-common/src/tree_node.rs +++ b/datafusion/physical-expr-common/src/tree_node.rs @@ -84,8 +84,8 @@ impl Display for ExprContext { } impl ConcreteTreeNode for ExprContext { - fn children(&self) -> Vec<&Self> { - self.children.iter().collect() + fn children(&self) -> &[Self] { + &self.children } fn take_children(mut self) -> (Self, Vec) { diff --git a/datafusion/physical-plan/src/tree_node.rs b/datafusion/physical-plan/src/tree_node.rs index 46460cbb6684..d3b51062c25c 100644 --- a/datafusion/physical-plan/src/tree_node.rs +++ b/datafusion/physical-plan/src/tree_node.rs @@ -86,8 +86,8 @@ impl Display for PlanContext { } impl ConcreteTreeNode for PlanContext { - fn children(&self) -> Vec<&Self> { - self.children.iter().collect() + fn children(&self) -> &[Self] { + &self.children } fn take_children(mut self) -> (Self, Vec) {