Description
As I understand the purpose of this crate, the only thing that is different from std::collections::Hash{Map, Set}
and other hash-based data structures from other crates is a different hasher. If that is not true, then what I'm saying below is unapplicable, so feel free to close.
The goal is to eliminate the need to maintain a separate Hash{Map, Set}
and also reuse impls for Hash{Map, Set}
defined in other crates (provided that they are generic over the hasher) so that we don't have to provide them either.
For example, that's how both fxhash
and fnv
do:
FxHashMap
andFnvHashMap
;FxHashSet
andFnvHashSet
;FxBuildHasher
andFnvBuildHasher
.
This is technically a breaking change since the semantics of hashbrown::HashMap
and hashbrown::HashSet
might be altered in some ways (that I don't know of, unfortunately).
Solving this issue will help solving https://github.com/Amanieu/hashbrown/issues/6 as well.