@@ -235,30 +235,30 @@ pairs(A::AbstractArray) = pairs(IndexCartesian(), A)
235235pairs (A:: AbstractVector ) = pairs (IndexLinear (), A)
236236# pairs(v::Pairs) = v # listed for reference, but already defined from being an AbstractDict
237237
238- length (v:: Pairs ) = length (v . itr)
239- axes (v:: Pairs ) = axes (v . itr)
240- size (v:: Pairs ) = size (v . itr)
238+ length (v:: Pairs ) = length (getfield (v, : itr) )
239+ axes (v:: Pairs ) = axes (getfield (v, : itr) )
240+ size (v:: Pairs ) = size (getfield (v, : itr) )
241241@propagate_inbounds function iterate (v:: Pairs{K, V} , state... ) where {K, V}
242- x = iterate (v . itr, state... )
242+ x = iterate (getfield (v, : itr) , state... )
243243 x === nothing && return x
244244 indx, n = x
245- item = v . data[indx]
245+ item = getfield (v, : data) [indx]
246246 return (Pair {K, V} (indx, item), n)
247247end
248- @inline isdone (v:: Pairs , state... ) = isdone (v . itr, state... )
248+ @inline isdone (v:: Pairs , state... ) = isdone (getfield (v, : itr) , state... )
249249
250250IteratorSize (:: Type{<:Pairs{<:Any, <:Any, I}} ) where {I} = IteratorSize (I)
251251IteratorSize (:: Type{<:Pairs{<:Any, <:Any, <:Base.AbstractUnitRange, <:Tuple}} ) = HasLength ()
252252
253- reverse (v:: Pairs ) = Pairs (v . data, reverse (v . itr))
253+ reverse (v:: Pairs ) = Pairs (getfield (v, : data) , reverse (getfield (v, : itr) ))
254254
255- haskey (v:: Pairs , key) = (key in v . itr)
256- keys (v:: Pairs ) = v . itr
257- values (v:: Pairs ) = v . data # TODO : this should be a view of data subset by itr
258- getindex (v:: Pairs , key) = v . data[key]
259- setindex! (v:: Pairs , value, key) = (v . data[key] = value; v)
260- get (v:: Pairs , key, default) = get (v . data, key, default)
261- get (f:: Base.Callable , v:: Pairs , key) = get (f, v . data, key)
255+ haskey (v:: Pairs , key) = (key in getfield (v, : itr) )
256+ keys (v:: Pairs ) = getfield (v, : itr)
257+ values (v:: Pairs ) = getfield (v, : data) # TODO : this should be a view of data subset by itr
258+ getindex (v:: Pairs , key) = getfield (v, : data) [key]
259+ setindex! (v:: Pairs , value, key) = (getfield (v, : data) [key] = value; v)
260+ get (v:: Pairs , key, default) = get (getfield (v, : data) , key, default)
261+ get (f:: Base.Callable , v:: Pairs , key) = get (f, getfield (v, : data) , key)
262262
263263# zip
264264
0 commit comments