Skip to content

Commit

Permalink
"Reset" the hashing context before stable hashing the types
Browse files Browse the repository at this point in the history
  • Loading branch information
oli-obk committed Feb 25, 2022
1 parent 8b0440a commit 5875d7b
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions compiler/rustc_middle/src/ty/mod.rs
Expand Up @@ -31,7 +31,7 @@ use rustc_ast as ast;
use rustc_attr as attr;
use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexMap};
use rustc_data_structures::intern::Interned;
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
use rustc_data_structures::stable_hasher::{HashStable, NodeIdHashingMode, StableHasher};
use rustc_data_structures::tagged_ptr::CopyTaggedPtr;
use rustc_hir as hir;
use rustc_hir::def::{CtorKind, CtorOf, DefKind, Res};
Expand Down Expand Up @@ -471,7 +471,11 @@ impl<'a, 'tcx> HashStable<StableHashingContext<'a>> for Ty<'tcx> {

let stable_hash: Fingerprint = {
let mut hasher = StableHasher::new();
kind.hash_stable(hcx, &mut hasher);
hcx.while_hashing_spans(false, |hcx| {
hcx.with_node_id_hashing_mode(NodeIdHashingMode::HashDefPath, |hcx| {
kind.hash_stable(hcx, &mut hasher)
})
});
hasher.finish()
};
stable_hash.hash_stable(hcx, hasher);
Expand Down

0 comments on commit 5875d7b

Please sign in to comment.