2 unstable releases
0.2.0 | Sep 1, 2021 |
---|---|
0.1.0 | Sep 1, 2021 |
#2036 in Data structures
8KB
179 lines
collect-once-hashmap
This crate provides a type CollectOnceHashMap
(and the same for BTreeMap
that can be collected from an iterator just like a normal
std::collections::HashMap
, but it makes sure that a duplicated key results in
an error.
Example:
# 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))));
License
MPL-2.0 (c) Matthias Beyer
Dependencies
~255–710KB
~17K SLoC