@@ -170,9 +170,12 @@ offset_coerce(::Type{I}, r::AbstractUnitRange) where I<:AbstractUnitRange =
170170 convert (I, r):: I , 0
171171
172172@inline Base. parent (r:: IdOffsetRange ) = r. parent
173- @inline Base. axes (r:: IdOffsetRange ) = (Base. axes1 (r),)
174- @inline Base. axes1 (r:: IdOffsetRange ) = IdOffsetRange (Base. axes1 (r. parent), r. offset)
175- @inline Base. unsafe_indices (r:: IdOffsetRange ) = (Base. axes1 (r),)
173+ @inline Base. axes (r:: IdOffsetRange ) = (axes1 (r),)
174+ @inline axes1 (r:: IdOffsetRange ) = IdOffsetRange (Base. axes1 (r. parent), r. offset)
175+ if VERSION < v " 1.8.2"
176+ Base. axes1 (r:: IdOffsetRange ) = axes1 (r)
177+ end
178+ @inline Base. unsafe_indices (r:: IdOffsetRange ) = (axes1 (r),)
176179@inline Base. length (r:: IdOffsetRange ) = length (r. parent)
177180@inline Base. isempty (r:: IdOffsetRange ) = isempty (r. parent)
178181#= We specialize on reduced_indices to work around cases where the parent axis type doesn't
188191Base. reduced_index (i:: IdOffsetRange ) = typeof (i)(first (i): first (i))
189192# Workaround for #92 on Julia < 1.4
190193Base. reduced_index (i:: IdentityUnitRange{<:IdOffsetRange} ) = typeof (i)(first (i): first (i))
191- for f in [:firstindex , :lastindex ]
192- @eval @inline Base.$ f (r:: IdOffsetRange ) = $ f (r. parent) + r. offset
194+ if VERSION < v " 1.8.2"
195+ for f in [:firstindex , :lastindex ]
196+ @eval @inline Base.$ f (r:: IdOffsetRange ) = $ f (r. parent) + r. offset
197+ end
193198end
194199for f in [:first , :last ]
195200 # coerce the type to deal with values that get promoted on addition (eg. Bool)
0 commit comments