Skip to content

Commit 5c9681d

Browse files
authored
Generic support for known_length(::Type{<:AbstractCartesianIndex}) (#226)
1 parent 7397628 commit 5c9681d

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ArrayInterface"
22
uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
3-
version = "3.1.39"
3+
version = "3.1.40"
44

55
[deps]
66
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"

src/ArrayInterface.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ known_length(::Type{T}) where {T<:Slice} = known_length(parent_type(T))
9292
known_length(::Type{<:Tuple{Vararg{Any,N}}}) where {N} = N
9393
known_length(::Type{T}) where {Itr,T<:Base.Generator{Itr}} = known_length(Itr)
9494
known_length(::Type{<:Number}) = 1
95-
known_length(::Type{NDIndex{N,I}}) where {N,I} = N
95+
known_length(::Type{<:AbstractCartesianIndex{N}}) where {N} = N
9696
function known_length(::Type{T}) where {T}
9797
if parent_type(T) <: T
9898
return nothing

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,7 @@ end
739739
@test ArrayInterface.known_length((1,)) == 1
740740
@test ArrayInterface.known_length((a=1,b=2)) == 2
741741
@test ArrayInterface.known_length([]) === nothing
742+
@test ArrayInterface.known_length(CartesianIndex((1,2,3))) === 3
742743

743744
x = view(SArray{Tuple{3,3,3}}(ones(3,3,3)), :, SOneTo(2), 2)
744745
@test @inferred(ArrayInterface.known_length(x)) == 6

0 commit comments

Comments
 (0)