2 个不稳定版本
0.2.0 | 2021 年 9 月 1 日 |
---|---|
0.1.0 | 2021 年 9 月 1 日 |
#2371 in 数据结构
8KB
179 行
collect-once-hashmap
这个包提供了一个类型 CollectOnceHashMap
(以及与 BTreeMap
相同的),可以从迭代器收集,就像正常的 std::collections::HashMap
一样,但它确保重复键会导致错误。
示例
# use collect_once_hashmap::{CollectOnceHashMap, Error};
let hm = vec![(1, 1), (1, 2)]
.into_iter()
.collect::<CollectOnceHashMap<u8, u8>>()
.into_inner();
assert!(hm.is_err());
assert!(std::matches!(hm, Err(Error::DuplicatedKey(1))));
let bm = vec![(1, 1), (1, 2)]
.into_iter()
.collect::<CollectOnceBTreeMap<u8, u8>>()
.into_inner();
assert!(bm.is_err());
assert!(std::matches!(bm, Err(Error::DuplicatedKey(1))));
许可证
MPL-2.0 (c) Matthias Beyer
依赖项
~295–760KB
~18K SLoC