我想写一个库,它是BTreeMap中一些功能的薄包装.不过,我不希望将其与特定的数据 struct 紧密耦合.严格地说,我只需要它功能的一个子集,类似于Java中NavigableMap接口的部分.我希望能找到一个类似的特点,我可以使用.我似乎记得,在某个时候,在标准库中有MapMutableMap这样的特征,但现在它们似乎不存在了.

是否有一个 crate 来定义这些?还是最终会被重新添加到std中?

推荐答案

不,现在只有Iterator个.MutableMapMap已被移除,以稳定 rust 1.0的std.

关于将性状重新添加到std中,有各种各样的讨论.参见以下关于Rust 内部的讨论:

或者(不太近,但更具体地说是关于Collection ):

一句话:每个人都想在std中获得这些特征的某种形式,但没有人愿意promise 在标准库中添加并支持wrong个特征,直到更清楚地了解什么是人体工程学.

Rust相关问答推荐

如何在不安全的代码中初始化枚举 struct

使用模块中的所有模块,但不包括特定模块

新创建的变量的绑定生存期

如何格式化传入Rust中mysql crate的Pool::new的字符串

防止cargo test 中的竞争条件

如何使用盒装枚举进行模式匹配?

铁 rust 中的泛型:不能将`<;T作为添加>;::Output`除以`{Float}`

创建Rust中元对象协议的动态对象 Select /重新分配机制

不能在一个代码分支中具有不变的自身borrow ,而在另一个代码分支中具有可变的self borrow

在IntoIter上调用.by_ref().Take().rev()时会发生什么情况

我如何使用AWS SDK for Rust获取我承担的角色的凭据?

Rust将String上的迭代器转换为&;[&;str]

在运行特定测试时,如何 suppress cargo test 的空输出?

在 Rust 中,为什么 10 个字符的字符串的 size_of_val() 返回 24 个字节?

.to_owned()、.clone() 和取消引用 (*) 之间有区别吗?

根据掩码将 simd 通道设置为 0 的惯用方法?

如何限制通用 const 参数中允许的值?

当你删除一个存在于堆栈中的值时,为什么 rust 不会抱怨

预期的整数,找到 `&{integer}`

如何为枚举中的单个或多个值返回迭代器