@@ -32,6 +32,7 @@ use vortex_array::scalar::PValue;
3232use vortex_array:: search_sorted:: SearchSorted ;
3333use vortex_array:: search_sorted:: SearchSortedSide ;
3434use vortex_array:: serde:: ArrayChildren ;
35+ use vortex_array:: smallvec:: smallvec;
3536use vortex_array:: validity:: Validity ;
3637use vortex_array:: vtable:: VTable ;
3738use vortex_array:: vtable:: ValidityVTable ;
@@ -154,7 +155,7 @@ impl VTable for RunEnd {
154155
155156 let values = children. get ( 1 , dtype, runs) ?;
156157 let offset = usize:: try_from ( metadata. offset ) . vortex_expect ( "Offset must be a valid usize" ) ;
157- let slots = vec ! [ Some ( ends) , Some ( values) ] ;
158+ let slots = smallvec ! [ Some ( ends) , Some ( values) ] ;
158159 let data = RunEndData :: new ( offset) ;
159160 Ok ( ArrayParts :: new ( self . clone ( ) , dtype. clone ( ) , len, data) . with_slots ( slots) )
160161 }
@@ -258,7 +259,7 @@ impl RunEnd {
258259 length : usize ,
259260 ) -> RunEndArray {
260261 let dtype = values. dtype ( ) . clone ( ) ;
261- let slots = vec ! [ Some ( ends) , Some ( values) ] ;
262+ let slots = smallvec ! [ Some ( ends) , Some ( values) ] ;
262263 let data = unsafe { RunEndData :: new_unchecked ( offset) } ;
263264 unsafe {
264265 Array :: from_parts_unchecked (
@@ -276,7 +277,7 @@ impl RunEnd {
276277 let len = RunEndData :: logical_len_from_ends ( & ends, ctx) ?;
277278 RunEndData :: validate_parts ( & ends, & values, 0 , len, ctx) ?;
278279 let dtype = values. dtype ( ) . clone ( ) ;
279- let slots = vec ! [ Some ( ends) , Some ( values) ] ;
280+ let slots = smallvec ! [ Some ( ends) , Some ( values) ] ;
280281 let data = RunEndData :: new ( 0 ) ;
281282 Array :: try_from_parts ( ArrayParts :: new ( RunEnd , dtype, len, data) . with_slots ( slots) )
282283 }
@@ -291,7 +292,7 @@ impl RunEnd {
291292 ) -> VortexResult < RunEndArray > {
292293 RunEndData :: validate_parts ( & ends, & values, offset, length, ctx) ?;
293294 let dtype = values. dtype ( ) . clone ( ) ;
294- let slots = vec ! [ Some ( ends) , Some ( values) ] ;
295+ let slots = smallvec ! [ Some ( ends) , Some ( values) ] ;
295296 let data = RunEndData :: new ( offset) ;
296297 Array :: try_from_parts ( ArrayParts :: new ( RunEnd , dtype, length, data) . with_slots ( slots) )
297298 }
@@ -308,7 +309,7 @@ impl RunEnd {
308309 let ends = ends. into_array ( ) ;
309310 let len = array. len ( ) ;
310311 let dtype = values. dtype ( ) . clone ( ) ;
311- let slots = vec ! [ Some ( ends) , Some ( values) ] ;
312+ let slots = smallvec ! [ Some ( ends) , Some ( values) ] ;
312313 let data = unsafe { RunEndData :: new_unchecked ( 0 ) } ;
313314 Array :: try_from_parts ( ArrayParts :: new ( RunEnd , dtype, len, data) . with_slots ( slots) )
314315 } else {
0 commit comments