mozilla/rust — pull request #5696 by thestinger (2013-04-03 13:40:25+00:00)
Title: core::hashmap::linear::Linear{Map,Set} -> core::hashmap::Hash{Map,Set}

This naming is free now that `oldmap` has finally been removed, so this is a search-and-replace to take advantage of that with simpler naming.

SipHash distributes keys so well that I don't think there will ever be much need to use anything but a simple hash table with open addressing. If there *is* a better way to do it, it will probably be better in all cases and can just be the default implementation.

A cuckoo-hashing implementation combining a weaker hash with SipHash could be useful, but that won't be as general purpose - you would need to write a separate fast hash function specialized for the type to really take advantage of it (like taking a page from libstdc++/libc++ and just using the integer value as the "hash").