Skip to content

Commit 64ee8ab

Browse files
authored
fix #35225, issubset on empty ranges (#35244)
1 parent 3df8899 commit 64ee8ab

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

base/range.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ end
876876
issubset(r::OneTo, s::OneTo) = r.stop <= s.stop
877877

878878
issubset(r::AbstractUnitRange{<:Integer}, s::AbstractUnitRange{<:Integer}) =
879-
first(r) >= first(s) && last(r) <= last(s)
879+
isempty(r) || first(r) >= first(s) && last(r) <= last(s)
880880

881881
## linear operations on ranges ##
882882

test/ranges.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,11 @@ end
387387
@test !issubset(Base.OneTo(10), Base.OneTo(5))
388388
@test issubset(1:3:10, 1:10)
389389
@test !issubset(1:10, 1:3:10)
390+
# with empty ranges
391+
@test issubset(2:1, 3:4) #35225
392+
@test issubset(2:1, 3:2)
393+
@test issubset(Base.OneTo(0), Base.OneTo(3))
394+
@test issubset(Base.OneTo(0), Base.OneTo(-3))
390395
end
391396
@testset "sort/sort!/partialsort" begin
392397
@test sort(UnitRange(1,2)) == UnitRange(1,2)

0 commit comments

Comments
 (0)