@@ -8,17 +8,14 @@ use serde::{Deserialize, Serialize};
88use vortex_dtype:: { match_each_native_ptype, DType , PType } ;
99use vortex_error:: { vortex_bail, vortex_panic, VortexExpect , VortexResult } ;
1010
11- use crate :: array:: { NullArray , PrimitiveArray } ;
11+ use crate :: array:: PrimitiveArray ;
1212use crate :: compute:: { scalar_at, slice} ;
1313use crate :: encoding:: ids;
1414use crate :: stats:: { Stat , StatisticsVTable , StatsSet } ;
1515use crate :: validity:: { LogicalValidity , Validity , ValidityMetadata , ValidityVTable } ;
1616use crate :: variants:: { ListArrayTrait , PrimitiveArrayTrait , VariantsVTable } ;
1717use crate :: visitor:: { ArrayVisitor , VisitorVTable } ;
18- use crate :: {
19- impl_encoding, ArrayDType , ArrayData , ArrayLen , ArrayTrait , Canonical , IntoArrayData ,
20- IntoCanonical ,
21- } ;
18+ use crate :: { impl_encoding, ArrayDType , ArrayData , ArrayLen , ArrayTrait , Canonical , IntoCanonical } ;
2219
2320impl_encoding ! ( "vortex.list" , ids:: LIST , List ) ;
2421
@@ -122,12 +119,6 @@ impl ListArray {
122119
123120 // TODO: fetches the elements at index
124121 pub fn elements_at ( & self , index : usize ) -> VortexResult < ArrayData > {
125- if index >= self . len ( ) {
126- vortex_bail ! ( "Index out of bounds: index={} len={}" , index, self . len( ) ) ;
127- }
128- if !self . is_valid ( index) {
129- return Ok ( NullArray :: new ( 1 ) . into_array ( ) ) ;
130- }
131122 let start = self . offset_at ( index) ;
132123 let end = self . offset_at ( index + 1 ) ;
133124 slice ( self . elements ( ) , start, end)
0 commit comments