@@ -237,12 +237,14 @@ impl VectorMutOps for StructVectorMut {
237237 ) ;
238238
239239 // Extend each field vector.
240- let pairs = self . fields . iter_mut ( ) . zip ( other. fields ( ) ) ;
240+ let pairs = self . fields . iter_mut ( ) . zip ( other. fields ( ) . as_ref ( ) ) ;
241241 for ( self_mut_vector, other_vec) in pairs {
242242 match ( self_mut_vector, other_vec) {
243243 ( VectorMut :: Null ( a) , Vector :: Null ( b) ) => a. extend_from_vector ( b) ,
244244 ( VectorMut :: Bool ( a) , Vector :: Bool ( b) ) => a. extend_from_vector ( b) ,
245245 ( VectorMut :: Primitive ( a) , Vector :: Primitive ( b) ) => a. extend_from_vector ( b) ,
246+ ( VectorMut :: String ( a) , Vector :: String ( b) ) => a. extend_from_vector ( b) ,
247+ ( VectorMut :: Binary ( a) , Vector :: Binary ( b) ) => a. extend_from_vector ( b) ,
246248 ( VectorMut :: Struct ( a) , Vector :: Struct ( b) ) => a. extend_from_vector ( b) ,
247249 _ => {
248250 vortex_panic ! ( "Mismatched field types in `StructVectorMut::extend_from_vector`" )
@@ -324,6 +326,8 @@ impl VectorMutOps for StructVectorMut {
324326 ( VectorMut :: Null ( a) , VectorMut :: Null ( b) ) => a. unsplit ( b) ,
325327 ( VectorMut :: Bool ( a) , VectorMut :: Bool ( b) ) => a. unsplit ( b) ,
326328 ( VectorMut :: Primitive ( a) , VectorMut :: Primitive ( b) ) => a. unsplit ( b) ,
329+ ( VectorMut :: String ( a) , VectorMut :: String ( b) ) => a. unsplit ( b) ,
330+ ( VectorMut :: Binary ( a) , VectorMut :: Binary ( b) ) => a. unsplit ( b) ,
327331 ( VectorMut :: Struct ( a) , VectorMut :: Struct ( b) ) => a. unsplit ( b) ,
328332 _ => {
329333 vortex_panic ! ( "Mismatched field types in `StructVectorMut::unsplit`" )
0 commit comments