Skip to content

Commit 531e825

Browse files
committed
Make argdims(::IndexStyle, ::Type{<:Tuple}) generated
1 parent b7148eb commit 531e825

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/indexing.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ argdims(::IndexStyle, ::Type{T}) where {N,T<:CartesianIndex{N}} = N
1414
argdims(::IndexStyle, ::Type{T}) where {N,T<:AbstractArray{CartesianIndex{N}}} = N
1515
argdims(::IndexStyle, ::Type{T}) where {N,T<:AbstractArray{<:Any,N}} = N
1616
argdims(::IndexStyle, ::Type{T}) where {N,T<:LogicalIndex{<:Any,<:AbstractArray{Bool,N}}} = N
17-
@inline function argdims(s::IndexStyle, ::Type{T}) where {N,T<:Tuple{Vararg{<:Any,N}}}
18-
return ntuple(i -> argdims(s, T.parameters[i]), Val(N))
17+
@generated function argdims(s::IndexStyle, ::Type{T}) where {N,T<:Tuple{Vararg{<:Any,N}}}
18+
e = Expr(:tuple)
19+
for p in T.parameters
20+
push!(e.args, :(ArrayInterface.argdims(s, $p)))
21+
end
22+
Expr(:block, Expr(:meta, :inline), e)
1923
end
2024

2125
"""

0 commit comments

Comments
 (0)