pub trait DepNodeExt: Sized {
    fn from_def_path_hash(
        tcx: TyCtxt<'_>,
        def_path_hash: DefPathHash,
        kind: DepKind
    ) -> Self; fn extract_def_id(&self, tcx: TyCtxt<'_>) -> Option<DefId>; fn from_label_string(
        tcx: TyCtxt<'_>,
        label: &str,
        def_path_hash: DefPathHash
    ) -> Result<Self, ()>; fn has_label_string(label: &str) -> bool; }

Required Methods

Construct a DepNode from the given DepKind and DefPathHash. This method will assert that the given DepKind actually requires a single DefId/DefPathHash parameter.

Extracts the DefId corresponding to this DepNode. This will work if two conditions are met:

  1. The Fingerprint of the DepNode actually is a DefPathHash, and
  2. the item that the DefPath refers to exists in the current tcx.

Condition (1) is determined by the DepKind variant of the DepNode. Condition (2) might not be fulfilled if a DepNode refers to something from the previous compilation session that has been removed.

Used in testing

Used in testing

Implementors