@@ -403,6 +403,8 @@ sub_materialize(lay::InvColumnLayout, v::AbstractVector, ax::Tuple{InfAxes}) =
403
403
Base. _unsafe_getindex (:: IndexStyle , A:: AbstractVector , r:: InfAxes ) = layout_getindex (A, r)
404
404
Base. _unsafe_getindex (:: IndexStyle , A:: AbstractFill{<:Any,1} , r:: InfAxes ) = FillArrays. _fill_getindex (A, r)
405
405
getindex (A:: AbstractCachedVector , r:: InfAxes ) = layout_getindex (A, r)
406
+ # preserve padded/fill structure
407
+ getindex (A:: CachedVector{<:Any,<:AbstractVector,<:AbstractFill{<:Any,1}} , r:: InfAxes ) = LazyArrays. cache_getindex (A, r)
406
408
# don't resize to ∞
407
409
Base. isassigned (A:: AbstractCachedVector , r:: InfiniteCardinal{0} ) = true
408
410
getindex (A:: AbstractCachedVector , r:: InfiniteCardinal{0} ) = A. array[r]
@@ -421,4 +423,5 @@ Base._unsafe_getindex(::IndexStyle, A::AbstractFill{<:Any,2}, kr::InfAxes, jr::U
421
423
422
424
Base. checkindex (:: Type{Bool} , inds:: AbstractUnitRange , I:: AbstractFill ) = Base. checkindex (Bool, inds, getindex_value (I))
423
425
LazyArrays. cache_getindex (:: InfiniteCardinal{0} , A:: AbstractVector , I, J... ) = layout_getindex (A, I, J... )
426
+ LazyArrays. cache_getindex (:: InfiniteCardinal{0} , A:: CachedVector{<:Any,<:AbstractVector,<:AbstractFill{<:Any,1}} , I:: AbstractVector ) = LazyArrays. cache_getindex (nothing , A, I)
424
427
0 commit comments