DataStructures.jl icon indicating copy to clipboard operation
DataStructures.jl copied to clipboard

keys(sorteddict) is not an AbstractSet

Open StephenVavasis opened this issue 2 years ago • 0 comments

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.

StephenVavasis avatar Jul 17 '22 13:07 StephenVavasis