DataStructures.jl
DataStructures.jl copied to clipboard
keys(sorteddict) is not an AbstractSet
As of #787, the iterators for the sorted containers have been unified into a single framework that handles all three containers, full containers or subranges, keys/values/both, tokens/semitokens, and forward/reverse. There is a remaining issue. If sd
is a SortedDict{K,V}
, then the type of keys(sd)
lives in the new framework and is not a subtype of AbstractSet{K}
. This behavior is contrary to keys(d)
where d
is a Dict{K,V}
; the latter is a subtype of AbstractSet{K}
. I don't know how to fix this, aside from disuniting the new iterator framework to implement keys(sd)
separately. I asked about this on Discourse (https://discourse.julialang.org/t/possible-to-make-a-specific-parameterization-into-a-subtype/84260) but did not receive any responses.