Skip to content

Commit 33ab8e7

Browse files
committed
add constructors to OrdinalRange
1 parent e1776f2 commit 33ab8e7

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

base/range.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,11 @@ AbstractUnitRange{T}(r::AbstractUnitRange{T}) where {T} = r
960960
AbstractUnitRange{T}(r::UnitRange) where {T} = UnitRange{T}(r)
961961
AbstractUnitRange{T}(r::OneTo) where {T} = OneTo{T}(r)
962962

963+
OrdinalRange{T1, T2}(r::StepRange) where {T1, T2<: Integer} = StepRange{T1, T2}(r)
964+
OrdinalRange{T1, T2}(r::AbstractUnitRange{T1}) where {T1, T2<:Integer} = r
965+
OrdinalRange{T1, T2}(r::UnitRange) where {T1, T2<:Integer} = UnitRange{T1}(r)
966+
OrdinalRange{T1, T2}(r::OneTo) where {T1, T2<:Integer} = OneTo{T1}(r)
967+
963968
promote_rule(::Type{StepRange{T1a,T1b}}, ::Type{StepRange{T2a,T2b}}) where {T1a,T1b,T2a,T2b} =
964969
el_same(promote_type(T1a,T2a),
965970
# el_same only operates on array element type, so just promote second type parameter

0 commit comments

Comments
 (0)