#hash-set #hash-map #hash #set #map #replace

hashable

实现 Hash 特性的 HashMap 和 HashSet 替代品 -- HashableHashMap 和 HashableHashSet

1 个不稳定版本

0.0.0 2021年2月13日

#54#hash-set

MIT 许可证

13KB
272 行代码(不含注释)

crates.io docs.rs LICENSE

此 Rust 库提供了实现 HashMapHashSet 的替代品,这些替代品实现了 Hash 特性 -- HashableHashMapHashableHashSet.

贡献

欢迎贡献!请 Fork 该库,将更改推送到您的 Fork,并发送一个 pull request。除非在 pull request 中明确说明,否则所有贡献都将在 MIT 许可证下共享。

许可证

Hashable 版权所有 2021 Jonathan Nadal。它根据 MIT 许可证提供。


lib.rs:

此库提供了 HashMapHashSet 的替代品,这些替代品实现了 Hash 特性 -- HashableHashMapHashableHashSet.

示例

以下内容会被编译器拒绝

let mut inner_set = std::collections::HashSet::new();
inner_set.insert("inner value");

let mut outer_set = std::collections::HashSet::new();
outer_set.insert(inner_set);
error[E0277]: the trait bound `HashSet<&str>: Hash` is not satisfied

可以通过将内部 HashSetHashableHashSet 交换来解决错误

let mut inner_set = hashable::HashableHashSet::new();
inner_set.insert("inner value");

let mut outer_set = std::collections::HashSet::new();
outer_set.insert(inner_set);

依赖项

~260–640KB
~13K SLoC