pub trait DepNodeParams<Ctxt: DepContext>: Debug + Sized {
    fn fingerprint_style() -> FingerprintStyle;
    fn recover(tcx: Ctxt, dep_node: &DepNode<Ctxt::DepKind>) -> Option<Self>;

    fn to_fingerprint(&self, _: Ctxt) -> Fingerprint { ... }
    fn to_debug_str(&self, _: Ctxt) -> String { ... }

Required Methods

This method tries to recover the query key from the given DepNode, something which is needed when forcing DepNodes during red-green evaluation. The query system will only call this method if fingerprint_style() is not FingerprintStyle::Opaque. It is always valid to return None here, in which case incremental compilation will treat the query as having changed instead of forcing it.

Provided Methods

This method turns the parameters of a DepNodeConstructor into an opaque Fingerprint to be used in DepNode. Not all DepNodeParams support being turned into a Fingerprint (they don’t need to if the corresponding DepNode is anonymous).