Trait rustc_data_structures::stable_hasher::HashStable  [−][src]
pub trait HashStable<CTX> {
    fn hash_stable<W: StableHasherResult>(
        &self, 
        hcx: &mut CTX, 
        hasher: &mut StableHasher<W>
    );
}Something that implements HashStable<CTX> can be hashed in a way that is
stable across multiple compilation sessions.
Required Methods
fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut CTX, 
    hasher: &mut StableHasher<W>
)
&self,
hcx: &mut CTX,
hasher: &mut StableHasher<W>
)
Implementations on Foreign Types
impl<CTX> HashStable<CTX> for i8[src] 
impl<CTX> HashStable<CTX> for i8fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for i16[src] 
impl<CTX> HashStable<CTX> for i16fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for i32[src] 
impl<CTX> HashStable<CTX> for i32fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for i64[src] 
impl<CTX> HashStable<CTX> for i64fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for isize[src] 
impl<CTX> HashStable<CTX> for isizefn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for u8[src] 
impl<CTX> HashStable<CTX> for u8fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for u16[src] 
impl<CTX> HashStable<CTX> for u16fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for u32[src] 
impl<CTX> HashStable<CTX> for u32fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for u64[src] 
impl<CTX> HashStable<CTX> for u64fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for usize[src] 
impl<CTX> HashStable<CTX> for usizefn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for u128[src] 
impl<CTX> HashStable<CTX> for u128fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for i128[src] 
impl<CTX> HashStable<CTX> for i128fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for char[src] 
impl<CTX> HashStable<CTX> for charfn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for ()[src] 
impl<CTX> HashStable<CTX> for ()fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for f32[src] 
impl<CTX> HashStable<CTX> for f32fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for f64[src] 
impl<CTX> HashStable<CTX> for f64fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for Ordering[src] 
impl<CTX> HashStable<CTX> for Orderingfn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T1: HashStable<CTX>, CTX> HashStable<CTX> for (T1,)[src] 
impl<T1: HashStable<CTX>, CTX> HashStable<CTX> for (T1,)fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T1: HashStable<CTX>, T2: HashStable<CTX>, CTX> HashStable<CTX> for (T1, T2)[src] 
impl<T1: HashStable<CTX>, T2: HashStable<CTX>, CTX> HashStable<CTX> for (T1, T2)fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T1, T2, T3, CTX> HashStable<CTX> for (T1, T2, T3) where
    T1: HashStable<CTX>,
    T2: HashStable<CTX>,
    T3: HashStable<CTX>, [src] 
impl<T1, T2, T3, CTX> HashStable<CTX> for (T1, T2, T3) where
    T1: HashStable<CTX>,
    T2: HashStable<CTX>,
    T3: HashStable<CTX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T1, T2, T3, T4, CTX> HashStable<CTX> for (T1, T2, T3, T4) where
    T1: HashStable<CTX>,
    T2: HashStable<CTX>,
    T3: HashStable<CTX>,
    T4: HashStable<CTX>, [src] 
impl<T1, T2, T3, T4, CTX> HashStable<CTX> for (T1, T2, T3, T4) where
    T1: HashStable<CTX>,
    T2: HashStable<CTX>,
    T3: HashStable<CTX>,
    T4: HashStable<CTX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T: HashStable<CTX>, CTX> HashStable<CTX> for [T][src] 
impl<T: HashStable<CTX>, CTX> HashStable<CTX> for [T]fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T: HashStable<CTX>, CTX> HashStable<CTX> for Vec<T>[src] 
impl<T: HashStable<CTX>, CTX> HashStable<CTX> for Vec<T>fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Box<T>[src] 
impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Box<T>fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Arc<T>[src] 
impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Arc<T>fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for str[src] 
impl<CTX> HashStable<CTX> for strfn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for String[src] 
impl<CTX> HashStable<CTX> for Stringfn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for bool[src] 
impl<CTX> HashStable<CTX> for boolfn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T, CTX> HashStable<CTX> for Option<T> where
    T: HashStable<CTX>, [src] 
impl<T, CTX> HashStable<CTX> for Option<T> where
    T: HashStable<CTX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T1, T2, CTX> HashStable<CTX> for Result<T1, T2> where
    T1: HashStable<CTX>,
    T2: HashStable<CTX>, [src] 
impl<T1, T2, CTX> HashStable<CTX> for Result<T1, T2> where
    T1: HashStable<CTX>,
    T2: HashStable<CTX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<'a, T: ?Sized, CTX> HashStable<CTX> for &'a T where
    T: HashStable<CTX>, [src] 
impl<'a, T: ?Sized, CTX> HashStable<CTX> for &'a T where
    T: HashStable<CTX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    ctx: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<T, CTX> HashStable<CTX> for Discriminant<T>[src] 
impl<T, CTX> HashStable<CTX> for Discriminant<T>fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for Path[src] 
impl<CTX> HashStable<CTX> for Pathfn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<CTX> HashStable<CTX> for PathBuf[src] 
impl<CTX> HashStable<CTX> for PathBuffn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    _: &mut CTX, 
    hasher: &mut StableHasher<W>
)impl<K, V, R, HCX> HashStable<HCX> for HashMap<K, V, R> where
    K: ToStableHashKey<HCX> + Eq + Hash,
    V: HashStable<HCX>,
    R: BuildHasher, [src] 
impl<K, V, R, HCX> HashStable<HCX> for HashMap<K, V, R> where
    K: ToStableHashKey<HCX> + Eq + Hash,
    V: HashStable<HCX>,
    R: BuildHasher, fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)impl<K, R, HCX> HashStable<HCX> for HashSet<K, R> where
    K: ToStableHashKey<HCX> + Eq + Hash,
    R: BuildHasher, [src] 
impl<K, R, HCX> HashStable<HCX> for HashSet<K, R> where
    K: ToStableHashKey<HCX> + Eq + Hash,
    R: BuildHasher, fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)impl<K, V, HCX> HashStable<HCX> for BTreeMap<K, V> where
    K: ToStableHashKey<HCX>,
    V: HashStable<HCX>, [src] 
impl<K, V, HCX> HashStable<HCX> for BTreeMap<K, V> where
    K: ToStableHashKey<HCX>,
    V: HashStable<HCX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)impl<K, HCX> HashStable<HCX> for BTreeSet<K> where
    K: ToStableHashKey<HCX>, [src] 
impl<K, HCX> HashStable<HCX> for BTreeSet<K> where
    K: ToStableHashKey<HCX>, fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)[src] 
fn hash_stable<W: StableHasherResult>(
    &self, 
    hcx: &mut HCX, 
    hasher: &mut StableHasher<W>
)Implementors
- impl<T> HashStable<T> for Svh
- impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Rc<T>
- impl<I: Idx, T, CTX> HashStable<CTX> for IndexVec<I, T> where
 T: HashStable<CTX>,
- impl<I: Idx, CTX> HashStable<CTX> for IdxSet<I>
- impl<T, HCX> HashStable<HCX> for StableVec<T> where
 T: HashStable<HCX> + ToStableHashKey<HCX>,
- impl<CTX, T> HashStable<CTX> for TransitiveRelation<T> where
 T: HashStable<CTX> + Eq + Debug + Clone + Hash,
- impl<CTX> HashStable<CTX> for Fingerprint