@@ -27,7 +27,7 @@ use std::convert::Infallible;
2727use std:: fmt;
2828use std:: hash:: Hash ;
2929use std:: hash:: Hasher ;
30- use std:: iter:: repeat_n ;
30+ use std:: iter:: repeat ;
3131use std:: mem:: { size_of, size_of_val} ;
3232use std:: str:: FromStr ;
3333use std:: sync:: Arc ;
@@ -802,14 +802,12 @@ fn dict_from_scalar<K: ArrowDictionaryKeyType>(
802802 let values_array = value. to_array_of_size ( 1 ) ?;
803803
804804 // Create a key array with `size` elements, each of 0
805- let key_array: PrimitiveArray < K > = repeat_n (
806- if value. is_null ( ) {
807- None
808- } else {
809- Some ( K :: default_value ( ) )
810- } ,
811- size,
812- )
805+ let key_array: PrimitiveArray < K > = repeat ( if value. is_null ( ) {
806+ None
807+ } else {
808+ Some ( K :: default_value ( ) )
809+ } )
810+ . take ( size)
813811 . collect ( ) ;
814812
815813 // create a new DictionaryArray
@@ -2191,7 +2189,8 @@ impl ScalarValue {
21912189 scale : i8 ,
21922190 size : usize ,
21932191 ) -> Result < Decimal256Array > {
2194- Ok ( repeat_n ( value, size)
2192+ Ok ( repeat ( value)
2193+ . take ( size)
21952194 . collect :: < Decimal256Array > ( )
21962195 . with_precision_and_scale ( precision, scale) ?)
21972196 }
@@ -2417,59 +2416,69 @@ impl ScalarValue {
24172416 }
24182417 ScalarValue :: Utf8 ( e) => match e {
24192418 Some ( value) => {
2420- Arc :: new ( StringArray :: from_iter_values ( repeat_n ( value, size) ) )
2419+ Arc :: new ( StringArray :: from_iter_values ( repeat ( value) . take ( size) ) )
24212420 }
24222421 None => new_null_array ( & DataType :: Utf8 , size) ,
24232422 } ,
24242423 ScalarValue :: Utf8View ( e) => match e {
24252424 Some ( value) => {
2426- Arc :: new ( StringViewArray :: from_iter_values ( repeat_n ( value, size) ) )
2425+ Arc :: new ( StringViewArray :: from_iter_values ( repeat ( value) . take ( size) ) )
24272426 }
24282427 None => new_null_array ( & DataType :: Utf8View , size) ,
24292428 } ,
24302429 ScalarValue :: LargeUtf8 ( e) => match e {
24312430 Some ( value) => {
2432- Arc :: new ( LargeStringArray :: from_iter_values ( repeat_n ( value, size) ) )
2431+ Arc :: new ( LargeStringArray :: from_iter_values ( repeat ( value) . take ( size) ) )
24332432 }
24342433 None => new_null_array ( & DataType :: LargeUtf8 , size) ,
24352434 } ,
24362435 ScalarValue :: Binary ( e) => match e {
24372436 Some ( value) => Arc :: new (
2438- repeat_n ( Some ( value. as_slice ( ) ) , size) . collect :: < BinaryArray > ( ) ,
2437+ repeat ( Some ( value. as_slice ( ) ) )
2438+ . take ( size)
2439+ . collect :: < BinaryArray > ( ) ,
24392440 ) ,
2440- None => Arc :: new ( repeat_n ( None :: < & str > , size) . collect :: < BinaryArray > ( ) ) ,
2441+ None => {
2442+ Arc :: new ( repeat ( None :: < & str > ) . take ( size) . collect :: < BinaryArray > ( ) )
2443+ }
24412444 } ,
24422445 ScalarValue :: BinaryView ( e) => match e {
24432446 Some ( value) => Arc :: new (
2444- repeat_n ( Some ( value. as_slice ( ) ) , size) . collect :: < BinaryViewArray > ( ) ,
2447+ repeat ( Some ( value. as_slice ( ) ) )
2448+ . take ( size)
2449+ . collect :: < BinaryViewArray > ( ) ,
24452450 ) ,
24462451 None => {
2447- Arc :: new ( repeat_n ( None :: < & str > , size) . collect :: < BinaryViewArray > ( ) )
2452+ Arc :: new ( repeat ( None :: < & str > ) . take ( size) . collect :: < BinaryViewArray > ( ) )
24482453 }
24492454 } ,
24502455 ScalarValue :: FixedSizeBinary ( s, e) => match e {
24512456 Some ( value) => Arc :: new (
24522457 FixedSizeBinaryArray :: try_from_sparse_iter_with_size (
2453- repeat_n ( Some ( value. as_slice ( ) ) , size) ,
2458+ repeat ( Some ( value. as_slice ( ) ) ) . take ( size) ,
24542459 * s,
24552460 )
24562461 . unwrap ( ) ,
24572462 ) ,
24582463 None => Arc :: new (
24592464 FixedSizeBinaryArray :: try_from_sparse_iter_with_size (
2460- repeat_n ( None :: < & [ u8 ] > , size) ,
2465+ repeat ( None :: < & [ u8 ] > ) . take ( size) ,
24612466 * s,
24622467 )
24632468 . unwrap ( ) ,
24642469 ) ,
24652470 } ,
24662471 ScalarValue :: LargeBinary ( e) => match e {
24672472 Some ( value) => Arc :: new (
2468- repeat_n ( Some ( value. as_slice ( ) ) , size) . collect :: < LargeBinaryArray > ( ) ,
2473+ repeat ( Some ( value. as_slice ( ) ) )
2474+ . take ( size)
2475+ . collect :: < LargeBinaryArray > ( ) ,
2476+ ) ,
2477+ None => Arc :: new (
2478+ repeat ( None :: < & str > )
2479+ . take ( size)
2480+ . collect :: < LargeBinaryArray > ( ) ,
24692481 ) ,
2470- None => {
2471- Arc :: new ( repeat_n ( None :: < & str > , size) . collect :: < LargeBinaryArray > ( ) )
2472- }
24732482 } ,
24742483 ScalarValue :: List ( arr) => {
24752484 Self :: list_to_array_of_size ( arr. as_ref ( ) as & dyn Array , size) ?
@@ -2597,7 +2606,7 @@ impl ScalarValue {
25972606 child_arrays. push ( ar) ;
25982607 new_fields. push ( field. clone ( ) ) ;
25992608 }
2600- let type_ids = repeat_n ( * v_id, size) ;
2609+ let type_ids = repeat ( * v_id) . take ( size) ;
26012610 let type_ids = ScalarBuffer :: < i8 > :: from_iter ( type_ids) ;
26022611 let value_offsets = match mode {
26032612 UnionMode :: Sparse => None ,
@@ -2665,7 +2674,7 @@ impl ScalarValue {
26652674 }
26662675
26672676 fn list_to_array_of_size ( arr : & dyn Array , size : usize ) -> Result < ArrayRef > {
2668- let arrays = repeat_n ( arr, size) . collect :: < Vec < _ > > ( ) ;
2677+ let arrays = repeat ( arr) . take ( size) . collect :: < Vec < _ > > ( ) ;
26692678 let ret = match !arrays. is_empty ( ) {
26702679 true => arrow:: compute:: concat ( arrays. as_slice ( ) ) ?,
26712680 false => arr. slice ( 0 , 0 ) ,
0 commit comments