diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-07-12 22:19:25 +0200 | 
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2022-07-06 22:50:55 +0200 | 
| commit | 43bb31b9540a439dcca65f47b8644eafe4a42e2d (patch) | |
| tree | 8c707ae5bb7b76fd39b0b0b811e50fd336e5cd17 /compiler/rustc_query_impl/src/plumbing.rs | |
| parent | 3dcb616888aac50d55160b025266d555dad937d9 (diff) | |
| download | rust-43bb31b9540a439dcca65f47b8644eafe4a42e2d.tar.gz rust-43bb31b9540a439dcca65f47b8644eafe4a42e2d.zip | |
Allow to create definitions inside the query system.
Diffstat (limited to 'compiler/rustc_query_impl/src/plumbing.rs')
| -rw-r--r-- | compiler/rustc_query_impl/src/plumbing.rs | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/compiler/rustc_query_impl/src/plumbing.rs b/compiler/rustc_query_impl/src/plumbing.rs index 3ed6632ba66..d0fef364eaf 100644 --- a/compiler/rustc_query_impl/src/plumbing.rs +++ b/compiler/rustc_query_impl/src/plumbing.rs @@ -291,11 +291,12 @@ macro_rules! define_queries { .and_then(|def_id| tcx.opt_def_kind(def_id)) }; let hash = || { - let mut hcx = tcx.create_stable_hashing_context(); - let mut hasher = StableHasher::new(); - std::mem::discriminant(&kind).hash_stable(&mut hcx, &mut hasher); - key.hash_stable(&mut hcx, &mut hasher); - hasher.finish::<u64>() + tcx.with_stable_hashing_context(|mut hcx|{ + let mut hasher = StableHasher::new(); + std::mem::discriminant(&kind).hash_stable(&mut hcx, &mut hasher); + key.hash_stable(&mut hcx, &mut hasher); + hasher.finish::<u64>() + }) }; QueryStackFrame::new(name, description, span, def_kind, hash) | 
