collect-once-hashmap

Crates.iocollect-once-hashmap
lib.rscollect-once-hashmap
version0.2.0
sourcesrc
created_at2021-09-01 08:12:30.911776
updated_at2021-09-01 13:20:38.322539
descriptionA hashmap that can be collected only when there are unique keys in the iterator
homepagehttps://git.beyermatthi.as/collect-once-hashmap
repositoryhttps://git.beyermatthi.as/collect-once-hashmap
max_upload_size
id445489
size24,947
Matthias Beyer (matthiasbeyer)

documentation

README

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

Commit count: 0

cargo fmt