Skip to content

Commit 4295986

Browse files
authored
use SOneTo for eachindex() (#819)
Currently we already have `eachindex(SA[1, 2, 3, 4]) isa SOneTo` for vectors but not for matrices. This changes makes `eachindex` consistent.
1 parent b5b6d7b commit 4295986

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

src/abstractarray.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ end
1515
Base.axes(rv::Adjoint{<:Any,<:StaticVector}) = (SOneTo(1), axes(rv.parent)...)
1616
Base.axes(rv::Transpose{<:Any,<:StaticVector}) = (SOneTo(1), axes(rv.parent)...)
1717

18+
Base.eachindex(::IndexLinear, a::StaticArray) = SOneTo(length(a))
19+
1820
# Base.strides is intentionally not defined for SArray, see PR #658 for discussion
1921
Base.strides(a::MArray) = Base.size_to_strides(1, size(a)...)
2022
Base.strides(a::SizedArray) = strides(a.data)

test/abstractarray.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ using StaticArrays, Test, LinearAlgebra
77
@test length(m) == 12
88
@test IndexStyle(m) == IndexLinear()
99
@test Base.isassigned(m, 2, 2) == true
10+
@test eachindex(m) isa SOneTo
1011
end
1112

1213
@testset "strides" begin

0 commit comments

Comments
 (0)