rustc_data_structures::stable_hasher

Trait ToStableHashKey

source
pub trait ToStableHashKey<HCX> {
    type KeyType: Ord + Sized + HashStable<HCX>;

    // Required method
    fn to_stable_hash_key(&self, hcx: &HCX) -> Self::KeyType;
}
Expand description

Implement this for types that can be turned into stable keys like, for example, for DefId that can be converted to a DefPathHash. This is used for bringing maps into a predictable order before hashing them.

Required Associated Types§

Required Methods§

source

fn to_stable_hash_key(&self, hcx: &HCX) -> Self::KeyType

Implementations on Foreign Types§

source§

impl<HCX> ToStableHashKey<HCX> for String

source§

impl<HCX, T1: ToStableHashKey<HCX>, T2: ToStableHashKey<HCX>> ToStableHashKey<HCX> for (T1, T2)

source§

type KeyType = (<T1 as ToStableHashKey<HCX>>::KeyType, <T2 as ToStableHashKey<HCX>>::KeyType)

source§

fn to_stable_hash_key(&self, hcx: &HCX) -> Self::KeyType

Implementors§