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 mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
binary_search_util mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
graph mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
obligation_forest mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
owning_ref mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sip128 mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
small_c_str mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
snapshot_map mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sorted_map mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
tagged_ptr mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
tiny_list mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
transitive_relation mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
atomic_ref.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
base_n.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
box_region.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
captures.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
const_cstr.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
fingerprint.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
flock.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
frozen.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
fx.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
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 mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
map_in_place.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
profiling.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
ptr_key.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sharded.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sip128.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
small_c_str.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sorted_map.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
stable_hasher.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
stable_map.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
stable_set.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
stack.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
svh.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sync.rs datastructures: replace once_cell crate with an impl from std 2020-08-30 20:06:14 +01:00
tagged_ptr.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
temp_dir.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
thin_vec.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
tiny_list.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
transitive_relation.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
unhash.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
vec_linked_list.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
work_queue.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00