From c9da2bbed502958f0aa990e561b3fd0476da7498 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Fri, 2 Aug 2024 15:37:51 -0400 Subject: [PATCH] Fix MSRV error on 1.76.0 --- .../src/aggregate/groups_accumulator/prim_op.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/datafusion/physical-expr-common/src/aggregate/groups_accumulator/prim_op.rs b/datafusion/physical-expr-common/src/aggregate/groups_accumulator/prim_op.rs index 5d4199eabb5dd..9102c31018e93 100644 --- a/datafusion/physical-expr-common/src/aggregate/groups_accumulator/prim_op.rs +++ b/datafusion/physical-expr-common/src/aggregate/groups_accumulator/prim_op.rs @@ -141,13 +141,12 @@ where values: &[ArrayRef], opt_filter: Option<&BooleanArray>, ) -> Result> { - let values = values[0].as_primitive::(); + let values = values[0].as_primitive::().clone(); // Initializing state with starting values let initial_state = PrimitiveArray::::from_value(self.starting_value, values.len()); - // Recalculating values in case there is filter let values = match opt_filter { None => values, Some(filter) => { @@ -164,11 +163,11 @@ where let (dt, values_buf, original_nulls) = values.clone().into_parts(); let nulls_buf = NullBuffer::union(original_nulls.as_ref(), Some(&filter_nulls)); - &PrimitiveArray::::new(values_buf, nulls_buf).with_data_type(dt) + PrimitiveArray::::new(values_buf, nulls_buf).with_data_type(dt) } }; - let state_values = compute::binary_mut(initial_state, values, |mut x, y| { + let state_values = compute::binary_mut(initial_state, &values, |mut x, y| { (self.prim_fn)(&mut x, y); x });