d061fee177
SipHasher128 implements short_write in an endian-independent way, yet its write_xxx Hasher trait methods undo this endian-independence by byte swapping the integer inputs on big-endian hardware. StableHasher then adds endian-independence back by also byte-swapping on big-endian hardware prior to invoking SipHasher128. This double swap may have the appearance of being a no-op, but is in fact by design. In particular, we really do want SipHasher128 to be platform-dependent, in order to be consistent with the libstd SipHasher. Try to clarify this intent. Also, add and update a couple of unit tests. |
||
---|---|---|
.. | ||
base_n | ||
binary_search_util | ||
graph | ||
obligation_forest | ||
owning_ref | ||
sip128 | ||
small_c_str | ||
snapshot_map | ||
sorted_map | ||
stable_hasher | ||
tagged_ptr | ||
tiny_list | ||
transitive_relation | ||
atomic_ref.rs | ||
base_n.rs | ||
box_region.rs | ||
captures.rs | ||
const_cstr.rs | ||
fingerprint.rs | ||
flock.rs | ||
frozen.rs | ||
fx.rs | ||
jobserver.rs | ||
lib.rs | ||
macros.rs | ||
map_in_place.rs | ||
mini_map.rs | ||
mini_set.rs | ||
profiling.rs | ||
ptr_key.rs | ||
sharded.rs | ||
sip128.rs | ||
small_c_str.rs | ||
sorted_map.rs | ||
stable_hasher.rs | ||
stable_map.rs | ||
stable_set.rs | ||
stack.rs | ||
svh.rs | ||
sync.rs | ||
tagged_ptr.rs | ||
temp_dir.rs | ||
thin_vec.rs | ||
tiny_list.rs | ||
transitive_relation.rs | ||
unhash.rs | ||
vec_linked_list.rs | ||
work_queue.rs |