@@ -170,9 +170,12 @@ offset_coerce(::Type{I}, r::AbstractUnitRange) where I<:AbstractUnitRange =
170
170
convert (I, r):: I , 0
171
171
172
172
@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),)
176
179
@inline Base. length (r:: IdOffsetRange ) = length (r. parent)
177
180
@inline Base. isempty (r:: IdOffsetRange ) = isempty (r. parent)
178
181
#= We specialize on reduced_indices to work around cases where the parent axis type doesn't
188
191
Base. reduced_index (i:: IdOffsetRange ) = typeof (i)(first (i): first (i))
189
192
# Workaround for #92 on Julia < 1.4
190
193
Base. 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
193
198
end
194
199
for f in [:first , :last ]
195
200
# coerce the type to deal with values that get promoted on addition (eg. Bool)
0 commit comments