From d65c712442b47c02cfe2c104f79021db6c96056a Mon Sep 17 00:00:00 2001 From: Matt Fishman Date: Mon, 18 Aug 2025 12:57:50 -0400 Subject: [PATCH 1/3] Define `Base.axes1(S::Base.Slice{<:BlockedOneTo})` Define `Base.axes1(S::Base.Slice{<:BlockedOneTo}) = S.indices`, analogous to the definition of [`Base.axes(S::Base.Slice{<:BlockedOneTo})`](https://github.com/JuliaArrays/BlockArrays.jl/blob/90ddfa96fb0ade3da4f67ac285fcb340350c19c6/src/blockaxis.jl#L680) and [`Base.axes1(S::Slice{<:OneTo})`](https://github.com/JuliaLang/julia/blob/cd446800a189704062bbd58970f1cff4fbc52fc1/base/indices.jl#L391). Closes #484. --- src/blockaxis.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blockaxis.jl b/src/blockaxis.jl index 022c661e..bc3001ae 100644 --- a/src/blockaxis.jl +++ b/src/blockaxis.jl @@ -678,6 +678,7 @@ Base.summary(io::IO, a::AbstractBlockedUnitRange) = _block_summary(io, a) ### Base.axes(S::Base.Slice{<:BlockedOneTo}) = (S.indices,) +Base.axes1(S::Base.Slice{<:BlockedOneTo}) = S.indices Base.unsafe_indices(S::Base.Slice{<:BlockedOneTo}) = (S.indices,) blockaxes(S::Base.Slice) = blockaxes(S.indices) @propagate_inbounds getindex(S::Base.Slice, b::Block{1}) = S.indices[b] From 5b7ffc5a89873afb40b20ef893c3ddc54af8a9de Mon Sep 17 00:00:00 2001 From: Matt Fishman Date: Mon, 18 Aug 2025 12:58:32 -0400 Subject: [PATCH 2/3] Update Project.toml --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 1935c38a..52504125 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "BlockArrays" uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "1.7.0" +version = "1.7.1" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" From 021dc7b8a547b498aeccd879fb13b9407e3e2bda Mon Sep 17 00:00:00 2001 From: Matt Fishman Date: Mon, 18 Aug 2025 13:05:19 -0400 Subject: [PATCH 3/3] Add tests --- test/test_blockindices.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/test_blockindices.jl b/test/test_blockindices.jl index d39e0c50..ecf15599 100644 --- a/test/test_blockindices.jl +++ b/test/test_blockindices.jl @@ -713,7 +713,8 @@ end @test blockaxes(S) == blockaxes(b) @test S[Block(2)] == 2:3 @test S[Block.(1:2)] == 1:3 - @test axes(S) == axes(b) + @test axes(S) ≡ axes(b) ≡ (b,) + @test Base.axes1(S) ≡ b bs = BlockSlice(Block.(1:3), 1:6)