X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_data_structures%2Fsrc%2Fintern.rs;h=8c94ce29b42174ea9f25fb7eea8388b58b52c1de;hb=d47424b8339e3c6f2e313ccc7bb08c6857d86e44;hp=009b5d5340afe3c724950d881014d6e716b75c62;hpb=4ec97d991b1bd86dc89fee761d79ac8e85239a08;p=rust.git diff --git a/compiler/rustc_data_structures/src/intern.rs b/compiler/rustc_data_structures/src/intern.rs index 009b5d5340a..8c94ce29b42 100644 --- a/compiler/rustc_data_structures/src/intern.rs +++ b/compiler/rustc_data_structures/src/intern.rs @@ -110,11 +110,6 @@ fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) { } } -/// A helper trait so that `Interned` things can cache stable hashes reproducibly. -pub trait InternedHashingContext { - fn with_def_path_and_no_spans(&mut self, f: impl FnOnce(&mut Self)); -} - /// A helper type that you can wrap round your own type in order to automatically /// cache the stable hash on creation and not recompute it whenever the stable hash /// of the type is computed. @@ -165,7 +160,7 @@ fn hash(&self, s: &mut H) { } } -impl, CTX: InternedHashingContext> HashStable for WithStableHash { +impl, CTX> HashStable for WithStableHash { fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) { if self.stable_hash == Fingerprint::ZERO || cfg!(debug_assertions) { // No cached hash available. This can only mean that incremental is disabled. @@ -176,7 +171,7 @@ fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) { // otherwise the hashes will differ between cached and non-cached mode. let stable_hash: Fingerprint = { let mut hasher = StableHasher::new(); - hcx.with_def_path_and_no_spans(|hcx| self.internee.hash_stable(hcx, &mut hasher)); + self.internee.hash_stable(hcx, &mut hasher); hasher.finish() }; if cfg!(debug_assertions) && self.stable_hash != Fingerprint::ZERO {