From 1ff6a13ff20753fb4e25a4cef17bf7294c0754b2 Mon Sep 17 00:00:00 2001 From: melkor Date: Tue, 12 Jul 2022 16:44:32 -0700 Subject: [PATCH 1/3] Added constructor `new_from` --- src/array/fixed_size_list/mutable.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/array/fixed_size_list/mutable.rs b/src/array/fixed_size_list/mutable.rs index 1ffcd15c4dd..c72bd012cf3 100644 --- a/src/array/fixed_size_list/mutable.rs +++ b/src/array/fixed_size_list/mutable.rs @@ -32,13 +32,7 @@ impl MutableFixedSizeListArray { /// Creates a new [`MutableFixedSizeListArray`] from a [`MutableArray`] and size. pub fn new(values: M, size: usize) -> Self { let data_type = FixedSizeListArray::default_datatype(values.data_type().clone(), size); - assert_eq!(values.len(), 0); - Self { - size, - data_type, - values, - validity: None, - } + Self::new_from(values, data_type, size) } /// Creates a new [`MutableFixedSizeListArray`] from a [`MutableArray`] and size. @@ -47,6 +41,11 @@ impl MutableFixedSizeListArray { Box::new(Field::new(name, values.data_type().clone(), nullable)), size, ); + Self::new_from(values, data_type, size) + } + + /// Creates a new [`MutableFixedSizeListArray`] from a [`MutableArray`], [`DataType`] and size. + pub fn new_from(values: M, data_type: DataType, size: usize) -> Self { assert_eq!(values.len(), 0); Self { size, From eb2ff391ce87da60e65aa5964cfdcd95e7752cc4 Mon Sep 17 00:00:00 2001 From: melkor Date: Thu, 14 Jul 2022 08:29:58 -0700 Subject: [PATCH 2/3] Added assertion --- src/array/fixed_size_list/mutable.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/array/fixed_size_list/mutable.rs b/src/array/fixed_size_list/mutable.rs index c72bd012cf3..b51f02f58c4 100644 --- a/src/array/fixed_size_list/mutable.rs +++ b/src/array/fixed_size_list/mutable.rs @@ -47,6 +47,10 @@ impl MutableFixedSizeListArray { /// Creates a new [`MutableFixedSizeListArray`] from a [`MutableArray`], [`DataType`] and size. pub fn new_from(values: M, data_type: DataType, size: usize) -> Self { assert_eq!(values.len(), 0); + match data_type { + DataType::FixedSizeList(..) => {}, + _ => panic!("data type must be FixedSizeList (got {:?})", data_type), + }; Self { size, data_type, From 20f20f995843204958c34da0fe93192b436c1b0f Mon Sep 17 00:00:00 2001 From: melkor Date: Thu, 14 Jul 2022 18:05:47 -0700 Subject: [PATCH 3/3] Use `()` instead of `{}` --- src/array/fixed_size_list/mutable.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/array/fixed_size_list/mutable.rs b/src/array/fixed_size_list/mutable.rs index b51f02f58c4..5798e4472e2 100644 --- a/src/array/fixed_size_list/mutable.rs +++ b/src/array/fixed_size_list/mutable.rs @@ -48,7 +48,7 @@ impl MutableFixedSizeListArray { pub fn new_from(values: M, data_type: DataType, size: usize) -> Self { assert_eq!(values.len(), 0); match data_type { - DataType::FixedSizeList(..) => {}, + DataType::FixedSizeList(..) => (), _ => panic!("data type must be FixedSizeList (got {:?})", data_type), }; Self {