diff options
| author | Joshua Nelson <jnelson@cloudflare.com> | 2022-09-11 23:31:50 -0500 |
|---|---|---|
| committer | Joshua Nelson <jnelson@cloudflare.com> | 2022-09-25 12:08:36 -0500 |
| commit | ccc8d000f2281efc17f9329214116aedada088a5 (patch) | |
| tree | 55733f84b5589ff87ff13c7c16536baef3307293 /compiler/rustc_query_system | |
| parent | f3f91bb51477084cdff194d8908053844fc6d9ea (diff) | |
| download | rust-ccc8d000f2281efc17f9329214116aedada088a5.tar.gz rust-ccc8d000f2281efc17f9329214116aedada088a5.zip | |
Move some more code from rustc_middle to rustc_query_system
Diffstat (limited to 'compiler/rustc_query_system')
| -rw-r--r-- | compiler/rustc_query_system/src/dep_graph/dep_node.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/rustc_query_system/src/dep_graph/dep_node.rs b/compiler/rustc_query_system/src/dep_graph/dep_node.rs index 2a3657780ec..5c6ce0556eb 100644 --- a/compiler/rustc_query_system/src/dep_graph/dep_node.rs +++ b/compiler/rustc_query_system/src/dep_graph/dep_node.rs @@ -47,6 +47,7 @@ use crate::ich::StableHashingContext; use rustc_data_structures::fingerprint::{Fingerprint, PackedFingerprint}; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; +use rustc_hir::definitions::DefPathHash; use std::fmt; use std::hash::Hash; @@ -88,6 +89,17 @@ impl<K: DepKind> DepNode<K> { dep_node } + + /// Construct a DepNode from the given DepKind and DefPathHash. This + /// method will assert that the given DepKind actually requires a + /// single DefId/DefPathHash parameter. + pub fn from_def_path_hash<Ctxt>(tcx: Ctxt, def_path_hash: DefPathHash, kind: K) -> Self + where + Ctxt: super::DepContext<DepKind = K>, + { + debug_assert!(tcx.fingerprint_style(kind) == FingerprintStyle::DefPathHash); + DepNode { kind, hash: def_path_hash.0.into() } + } } impl<K: DepKind> fmt::Debug for DepNode<K> { |
