Skip to content

Commit e04092f

Browse files
committed
Support innersize for Refs and single-entry tuples
1 parent efcdb5f commit e04092f

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/functions.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ end
107107
@inline innersize(A::AbstractArray{<:AbstractArray}, dim::Integer) =
108108
innersize(A)[dim]
109109

110+
@inline innersize(tpl::Tuple{T}) where T = size(only(tpl))
111+
@inline innersize(ref::Ref) = size(only(ref))
112+
110113

111114
"""
112115
deepgetindex(A::AbstractArray, idxs...)

test/functions.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ using StaticArrays
2828
@testset "innersize" begin
2929
@test @inferred(innersize([[1, 2, 3], [4, 5, 6]])) == (3,)
3030
@test @inferred(innersize([[]])) == (0,)
31+
@test @inferred(innersize([2:5])) == (4,)
32+
@test @inferred(innersize((2:5,))) == (4,)
33+
@test @inferred(innersize(Ref(2:5))) == (4,)
3134
@test_throws DimensionMismatch @inferred(innersize([[1, 2, 3], [4, 5]]))
3235
end
3336

0 commit comments

Comments
 (0)