From a3623e05429952cd8cbfd875409d3cb7c8f8045d Mon Sep 17 00:00:00 2001 From: Tyson Nottingham Date: Sun, 20 Sep 2020 17:40:34 -0700 Subject: [PATCH] rustc_span: avoid hashing ExpnId tag when using cached hash --- compiler/rustc_span/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/rustc_span/src/lib.rs b/compiler/rustc_span/src/lib.rs index d036c078049..746b516a1b6 100644 --- a/compiler/rustc_span/src/lib.rs +++ b/compiler/rustc_span/src/lib.rs @@ -1925,9 +1925,7 @@ fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher) { return; } - TAG_NOT_ROOT.hash_stable(ctx, hasher); let index = self.as_u32() as usize; - let res = CACHE.with(|cache| cache.borrow().get(index).copied().flatten()); if let Some(res) = res { @@ -1936,6 +1934,7 @@ fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher) { let new_len = index + 1; let mut sub_hasher = StableHasher::new(); + TAG_NOT_ROOT.hash_stable(ctx, &mut sub_hasher); self.expn_data().hash_stable(ctx, &mut sub_hasher); let sub_hash: Fingerprint = sub_hasher.finish();