Skip to content

Commit caeacef

Browse files
authored
make extrema with dims inferrable (JuliaLang#39321)
fixes JuliaLang#39281
1 parent 78d55e2 commit caeacef

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

base/multidimensional.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1698,9 +1698,9 @@ extrema(f, A::AbstractArray; dims=:) = _extrema_dims(f, A, dims)
16981698
_extrema_dims(f, A::AbstractArray, ::Colon) = _extrema_itr(f, A)
16991699

17001700
function _extrema_dims(f, A::AbstractArray, dims)
1701-
sz = [size(A)...]
1701+
sz = size(A)
17021702
for d in dims
1703-
sz[d] = 1
1703+
sz = setindex(sz, 1, d)
17041704
end
17051705
T = promote_op(f, eltype(A))
17061706
B = Array{Tuple{T,T}}(undef, sz...)

test/reduce.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,3 +643,6 @@ end
643643

644644
# make sure we specialize on mapfoldl(::Type, ...)
645645
@test @inferred(mapfoldl(Int, +, [1, 2, 3]; init=0)) === 6
646+
647+
# issue #39281
648+
@test @inferred(extrema(rand(2), dims=1)) isa Vector{Tuple{Float64,Float64}}

0 commit comments

Comments
 (0)