Skip to content

Commit 2ea5423

Browse files
authored
Avoid accidental piracy in Base.inds2string (#305)
* avoid pirating inds2string * Add tests * version bump to v1.12.7
1 parent dfb8540 commit 2ea5423

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-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 = "OffsetArrays"
22
uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
3-
version = "1.12.6"
3+
version = "1.12.7"
44

55
[deps]
66
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"

src/OffsetArrays.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,8 @@ Base.append!(A::OffsetVector, items) = (append!(A.parent, items); A)
605605
Base.empty!(A::OffsetVector) = (empty!(A.parent); A)
606606

607607
# These functions keep the summary compact
608-
function Base.inds2string(inds::Tuple{Vararg{Union{IdOffsetRange, IdentityUnitRange{<:IdOffsetRange}}}})
608+
const OffsetIndices = Union{IdOffsetRange, IdentityUnitRange{<:IdOffsetRange}}
609+
function Base.inds2string(inds::Tuple{OffsetIndices, Vararg{OffsetIndices}})
609610
Base.inds2string(map(UnitRange, inds))
610611
end
611612
Base.showindices(io::IO, ind1::IdOffsetRange, inds::IdOffsetRange...) = Base.showindices(io, map(UnitRange, (ind1, inds...))...)

test/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1593,6 +1593,10 @@ end
15931593
@test pairs(rrtable) == pairs(rrted)
15941594

15951595
@test Base.inds2string(axes(a)) == Base.inds2string(map(UnitRange, axes(a)))
1596+
@test Base.inds2string((IdOffsetRange(3:4),)) == "3:4"
1597+
@test Base.inds2string((IdentityUnitRange(IdOffsetRange(3:4)),)) == "3:4"
1598+
# check that the following doesn't throw
1599+
@test Base.inds2string(()) isa Any
15961600

15971601
show(io, OffsetArray(3:5, 0:2))
15981602
@test String(take!(io)) == "3:5 with indices 0:2"

0 commit comments

Comments
 (0)