rust/compiler/rustc_data_structures/src
bors 51f79b618d Auto merge of #76233 - cuviper:unhasher, r=Mark-Simulacrum
Avoid rehashing Fingerprint as a map key

This introduces a no-op `Unhasher` for map keys that are already hash-
like, for example `Fingerprint` and its wrapper `DefPathHash`. For these
we can directly produce the `u64` hash for maps. The first use of this
is `def_path_hash_to_def_id: Option<UnhashMap<DefPathHash, DefId>>`.

cc #56308
r? @eddyb
2020-09-02 22:16:22 +00:00
..
base_n
binary_search_util
graph
obligation_forest
owning_ref
sip128
small_c_str
snapshot_map
sorted_map
tagged_ptr
tiny_list
transitive_relation
atomic_ref.rs
base_n.rs
box_region.rs
captures.rs
const_cstr.rs
fingerprint.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
flock.rs
frozen.rs
fx.rs
jobserver.rs datastructures: replace lazy_static by SyncLazy from std 2020-09-01 22:06:47 +01:00
lib.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
macros.rs
map_in_place.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 Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
vec_linked_list.rs
work_queue.rs