diff --git a/src/array_partition.jl b/src/array_partition.jl index 6454cdd0..6d887d7b 100644 --- a/src/array_partition.jl +++ b/src/array_partition.jl @@ -264,6 +264,8 @@ function Base._unsafe_getindex(::IndexStyle, A::ArrayPartition, return dest end +Base._maybe_reshape(::IndexCartesian, A::ArrayPartition, I::Vararg{Union{Real, AbstractArray}, N}) where {N} = Vector(A) + """ setindex!(A::ArrayPartition, v, i::Int, j...) diff --git a/test/partitions_test.jl b/test/partitions_test.jl index 4902c46a..70e4e13e 100644 --- a/test/partitions_test.jl +++ b/test/partitions_test.jl @@ -241,4 +241,8 @@ end a = ArrayPartition(TypeChangingArray{Int, 2}(), TypeChangingArray{Float32, 2}()) @test copy(a) == ArrayPartition(zeros(Int, 0, 0), zeros(Float32, 0, 0)) @test zero(a) == ArrayPartition(zeros(Int, 0, 0), zeros(Float32, 0, 0)) -end \ No newline at end of file +end + +@testset "Cartesian indexing" begin + @test ArrayPartition([1,2], [3])[1:3,1] == [1, 2, 3] +end