`SortedSet{K,Ord}()`, `SortedDict{K,V,Ord}()` and `SortedMultiDict{K,V,Ord}()` throw for non-forward `Ord`
还没有人认领这个 Issue。
评估
调研方向
用以下片段复现:SortedSet{Int, typeof(Base.Order.Reverse)}() 以及 dict 和 multidict 形式。阅读 src/sorted_set.jl:18、src/sorted_dict.jl:19 和 src/sorted_multi_dict.jl:17 处的外部构造函数,然后将它们与 issue 说已经可用的 where {Ord} 形式进行比较。当三个使用非 Forward 的 Ord 的无参数调用都能构建容器,并且有序容器测试通过时,即完成。
由索引模型根据 Issue 内容生成。
描述
using DataStructures
R = typeof(Base.Order.Reverse)
SortedSet{Int, R}()
SortedDict{Int, Int, R}()
SortedMultiDict{Int, Int, R}()
Each call throws on master (b9ff234), Julia 1.13.4:
ERROR: MethodError: Cannot `convert` an object of type Base.Order.ForwardOrdering to an object of type DataStructures.BalancedTree23{Int64, Nothing, Base.Order.ReverseOrdering{Base.Order.ForwardOrdering}}
The constructors take o::Ord=Forward with Ord a parameter of the constructed type (src/sorted_set.jl:18, src/sorted_dict.jl:19, src/sorted_multi_dict.jl:17). The default Forward is a ForwardOrdering, so the zero-argument method matches only when Ord is ForwardOrdering. For other orderings, the call falls through to the inner constructor that takes a BalancedTree23.
Passing the ordering works: SortedSet{Int, R}(Base.Order.Reverse). Forms where Ord is a method parameter (SortedSet(o::Ord=Forward) where {Ord}) are fine.
- 主要语言
- Julia
- 星标
- 747
- 派生
- 261
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
JuliaCollections/DataStructures.jl 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 62/100
-
append!(l1::MutableLinkedList, l2::MutableLinkedList) fails for empty l2可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
-
难度 3/5 1-2 天 新手友好度 65/100
查看 JuliaCollections/DataStructures.jl 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
难度 2/5 1-3 小时 新手友好度 66/100
-
难度 2/5 1-3 小时 新手友好度 68/100
rafaqz/DimensionalData.jl#1253 ·
-
难度 1/5 1 小时以内 新手友好度 88/100
osrep/Runes2P.jl#283 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复