in src/arraytypes/fixedsizelist.jl [32:49]
@propagate_inbounds function Base.getindex(l::FixedSizeList{T}, i::Integer) where {T}
@boundscheck checkbounds(l, i)
S = Base.nonmissingtype(T)
X = ArrowTypes.ArrowKind(ArrowTypes.ArrowType(S))
N = ArrowTypes.getsize(X)
Y = ArrowTypes.gettype(X)
if X !== T && !(l.validity[i])
return missing
else
off = (i - 1) * N
if X === T && isbitstype(Y)
tup = _unsafe_load_tuple(NTuple{N,Y}, l.data, off + 1)
else
tup = ntuple(j -> l.data[off + j], N)
end
return ArrowTypes.fromarrow(T, tup)
end
end