diff --git a/base/abstractarray.jl b/base/abstractarray.jl index 169191a758ad7..bebba8a13f89d 100644 --- a/base/abstractarray.jl +++ b/base/abstractarray.jl @@ -1592,7 +1592,7 @@ end mapslices(f::Function, A::AbstractArray, dims) = mapslices(f, A, [dims...]) function mapslices(f::Function, A::AbstractArray, dims::AbstractVector) if isempty(dims) - return A + return map(f,A) end dimsA = [size(A)...] diff --git a/test/arrayops.jl b/test/arrayops.jl index 90494a1c67955..eb51a53d9b068 100644 --- a/test/arrayops.jl +++ b/test/arrayops.jl @@ -628,6 +628,12 @@ begin b = mapslices(sum, ones(2,3,4), [1,2]) @test size(b) === (1,1,4) @test all(b.==6) + + # issue #5141 + c1 = mapslices(x-> maximum(-x), a, []) + @test c1 == -a + c2 = mapslices(x-> maximum(-x), a, [1,2]) + @test c2 == maximum(-a) end