Skip to content

Commit 4d215e4

Browse files
committed
Fix allunique(::StepRangeLen)
1 parent 7f348c5 commit 4d215e4

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

base/set.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,9 +393,7 @@ end
393393

394394
allunique(::Union{AbstractSet,AbstractDict}) = true
395395

396-
allunique(r::AbstractRange{T}) where {T} = (step(r) != zero(T)) || (length(r) <= 1)
397-
allunique(r::StepRange{T,S}) where {T,S} = (step(r) != zero(S)) || (length(r) <= 1)
398-
allunique(r::StepRangeLen{T,R,S}) where {T,R,S} = (step(r) != zero(S)) || (length(r) <= 1)
396+
allunique(r::AbstractRange) = !iszero(step(r)) || length(r) <= 1
399397

400398
filter!(f, s::Set) = unsafe_filter!(f, s)
401399

test/sets.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,13 @@ end
458458
@test allunique(Date(2018, 8, 7):Day(1):Date(2018, 8, 11)) # JuliaCon 2018
459459
@test allunique(DateTime(2018, 8, 7):Hour(1):DateTime(2018, 8, 11))
460460
@test allunique(('a':1:'c')[1:2]) == true
461+
for r = (Base.OneTo(-1), Base.OneTo(0), Base.OneTo(1), Base.OneTo(5),
462+
1:0, 1:1, 1:2, 1:10, 1:.5:.5, 1:.5:1, 1:.5:10, 3:-2:5, 3:-2:3, 3:-2:1,
463+
StepRangeLen(1.0, 2.0, 0), StepRangeLen(1.0, 2.0, 2), StepRangeLen(1.0, 2.0, 3),
464+
StepRangeLen(1.0, 0.0, 0), StepRangeLen(1.0, -0.0, 1), StepRangeLen(1.0, 0.0, 2),
465+
LinRange(1, 2, 3), LinRange(1, 1, 0), LinRange(1, 1, 1), LinRange(1, 1, 10))
466+
@test allunique(r) == invoke(allunique, Tuple{Any}, r)
467+
end
461468
end
462469
@testset "filter(f, ::$S)" for S = (Set, BitSet)
463470
s = S([1,2,3,4])

0 commit comments

Comments
 (0)