I would like to share with you my first public crate cityhash-sys.
It's a fully tested and documented Rust bindings of the Google CityHash C algorithms including 32, 68, 128 and 256 hash and x86_64 CRC32 intrinsic versions.
As I'm primarily a C++ programmer, feel free to report errors, better practice, etc...
As feedback, I think most hash crates present an interface either implementing the core::hash::Hasher, or (depending on intent) one of the traits from the RustCrypto project. (here it seems to be a hash for hashtables ? so that would probably be the core Hasher trait)
In particular I don't see any way to stream the hashing in the docs. Edit : that seems to be a limitation of the algorithm here, they have an issue opened on this subject since 2014.
Be sure to also look at the doc for BuildHasherDefault to see how you can provide an easy way to inject your hasher into a hashmap. And look at the type definitions in the other crates to see how they did their own HasherBuilder.
We can stream for 64-bits and 128-bits with the seeds functions. 32-bits do not have seed version, but the combinaison of the 2 32-bits hash can be done with Murmur3 combinaison as CityHash is based on Murmur3.