Skip to content

Commit b18a5f3

Browse files
committed
Add default to known_length
This needs a default value. Otherwise it results in a stack overflow.
1 parent d8ee3f6 commit b18a5f3

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

src/ArrayInterface.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ known_length(x) = known_length(typeof(x))
3636
known_length(::Type{<:NTuple{N,<:Any}}) where {N} = N
3737
known_length(::Type{<:NamedTuple{L}}) where {L} = length(L)
3838
known_length(::Type{T}) where {T<:Base.Slice} = known_length(parent_type(T))
39+
known_length(::Type{T}) where {T} = false
3940

4041
"""
4142
can_change_size(::Type{T}) -> Bool

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ end
204204
@test ArrayInterface.known_length(1:2) == nothing
205205
@test ArrayInterface.known_length((1,)) == 1
206206
@test ArrayInterface.known_length((a=1,b=2)) == 2
207+
@test ArrayInterface.known_length([]) == nothing
207208
end
208209

209210
@testset "indices" begin

0 commit comments

Comments
 (0)