Skip to content

Commit e7d0d3e

Browse files
hyrodiumtimholy
andauthored
Add deprecated message for conversions number to interval (#98)
* add deprecated message for conversion number to interval * add TODO comment for the next breaking release * Update depwarn message Co-authored-by: Tim Holy <[email protected]> * update depwarn comments suggested by @timholy Co-authored-by: Tim Holy <[email protected]>
1 parent 49dae41 commit e7d0d3e

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

src/IntervalSets.jl

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -250,15 +250,31 @@ end
250250
include("interval.jl")
251251

252252
# convert numbers to intervals
253-
convert(::Type{AbstractInterval}, x::Number) = x..x
254-
convert(::Type{AbstractInterval{T}}, x::Number) where T =
253+
# TODO: These conversions will be removed in the next breaking release (#97)
254+
function convert(::Type{AbstractInterval}, x::Number)
255+
Base.depwarn("`The conversion number to interval will be removed; construct an interval explicitly, e.g., `x..x`.", :convert)
256+
x..x
257+
end
258+
function convert(::Type{AbstractInterval{T}}, x::Number) where T
259+
Base.depwarn("`The conversion number to interval will be removed; construct an interval explicitly, e.g., `x..x`.", :convert)
255260
convert(AbstractInterval{T}, convert(AbstractInterval, x))
256-
convert(::Type{TypedEndpointsInterval{:closed,:closed}}, x::Number) = x..x
257-
convert(::Type{TypedEndpointsInterval{:closed,:closed,T}}, x::Number) where T =
261+
end
262+
function convert(::Type{TypedEndpointsInterval{:closed,:closed}}, x::Number)
263+
Base.depwarn("`The conversion number to interval will be removed; construct an interval explicitly, e.g., `x..x`.", :convert)
264+
x..x
265+
end
266+
function convert(::Type{TypedEndpointsInterval{:closed,:closed,T}}, x::Number) where T
267+
Base.depwarn("`The conversion number to interval will be removed; construct an interval explicitly, e.g., `x..x`.", :convert)
258268
convert(AbstractInterval{T}, convert(AbstractInterval, x))
259-
convert(::Type{ClosedInterval}, x::Number) = x..x
260-
convert(::Type{ClosedInterval{T}}, x::Number) where T =
269+
end
270+
function convert(::Type{ClosedInterval}, x::Number)
271+
Base.depwarn("`The conversion number to interval will be removed; construct an interval explicitly, e.g., `x..x`.", :convert)
272+
x..x
273+
end
274+
function convert(::Type{ClosedInterval{T}}, x::Number) where T
275+
Base.depwarn("`The conversion number to interval will be removed; construct an interval explicitly, e.g., `x..x`.", :convert)
261276
convert(AbstractInterval{T}, convert(AbstractInterval, x))
277+
end
262278

263279
include("findall.jl")
264280

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ struct IncompleteInterval <: AbstractInterval{Int} end
211211
@test 1.0..2.0 === 1.0..2 === 1..2.0 === ClosedInterval{Float64}(1..2) ===
212212
Interval(1.0,2.0)
213213

214+
# TODO: Remove this test in the next breaking release (#97)
214215
@test convert(AbstractInterval, 1.0) ==
215216
convert(AbstractInterval{Float64}, 1) ==
216217
convert(TypedEndpointsInterval{:closed,:closed}, 1.0) ==

0 commit comments

Comments
 (0)