fn take_no_validity<T: NativeType, I: Index>(
    values: &[T],
    indices: &[I],
) -> (Buffer<T>, Option<Bitmap>) {
    let values = indices
        .iter()
        .map(|index| values[index.to_usize()])
        .collect::<Vec<_>>();

    (values.into(), None)
}
// take implementation when neither values nor indices contain nulls
take implementation when neither values nor indices contain nulls
take implementation when neither values nor indices contain nulls
fn take_no_validity<T: NativeType, I: Index>(
    values: &[T],
    indices: &[I],
) -> (Buffer<T>, Option<Bitmap>) {
    let values = indices
        .iter()
        .map(|index| values[index.to_usize()])
        .collect::<Vec<_>>();
    (values.into(), None)
}
fn take_no_validity < T : NativeType , I : Index > ( values : & [ T ] , indices : & [ I ] , ) -> ( Buffer < T > , Option < Bitmap > ) { let values = indices . iter ( ) . map ( | index | values [ index . to_usize ( ) ] ) . collect :: < Vec < _ > > ( ) ; ( values . into ( ) , None ) }
take implementation when neither values nor indices contain nulls
take implementation when neither values nor indices contain nulls
values
&[T]
indices
&[I]
values
&[T]
indices
&[I]