diff --git a/src/OffsetArrays.jl b/src/OffsetArrays.jl index 979f2de2..de513d17 100644 --- a/src/OffsetArrays.jl +++ b/src/OffsetArrays.jl @@ -441,6 +441,8 @@ end A end +@inline Base.iterate(a::OffsetArray, i...) = iterate(parent(a), i...) + Base.in(x, A::OffsetArray) = in(x, parent(A)) Base.copy(A::OffsetArray) = parent_call(copy, A) diff --git a/test/runtests.jl b/test/runtests.jl index f09cdfef..54384fcb 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1492,6 +1492,12 @@ end @test a == d end end + + v = ones(10) + for r in Any[1:1:10, 1:10], s in Any[r, collect(r)] + so = OffsetArray(s) + @test Float64[v[i] for i in s] == Float64[v[i] for i in so] + end end @testset "show/summary" begin