Trait HashStable

Source
pub trait HashStable<CTX> {
    // Required method
    fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher);
}
Expand description

Something that implements HashStable<CTX> can be hashed in a way that is stable across multiple compilation sessions.

Note that HashStable imposes rather more strict requirements than usual hash functions:

  • Stable hashes are sometimes used as identifiers. Therefore they must conform to the corresponding PartialEq implementations:

    • x == y implies hash_stable(x) == hash_stable(y), and
    • x != y implies hash_stable(x) != hash_stable(y).

    That second condition is usually not required for hash functions (e.g. Hash). In practice this means that hash_stable must feed any information into the hasher that a PartialEq comparison takes into account. See #49300 for an example where violating this invariant has caused trouble in the past.

  • hash_stable() must be independent of the current compilation session. E.g. they must not hash memory addresses or other things that are “randomly” assigned per compilation session.

  • hash_stable() must be independent of the host architecture. The StableHasher takes care of endianness and isize/usize platform differences.

Required Methods§

Source

fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher)

Implementations on Foreign Types§

Source§

impl<'a, T, CTX> HashStable<CTX> for &'a T
where T: HashStable<CTX> + ?Sized,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<A, const N: usize, CTX> HashStable<CTX> for SmallVec<[A; N]>
where A: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for Ordering

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for bool

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for char

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for f32

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for f64

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for i8

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for i16

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for i32

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for i64

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for i128

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for isize

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for !

Source§

fn hash_stable(&self, _ctx: &mut CTX, _hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for str

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for u8

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for u16

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for u32

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for u64

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for u128

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for ()

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for usize

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for Hash64

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for Hash128

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for String

Source§

fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for NonZero<u32>

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for NonZero<usize>

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for Path

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for PathBuf

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX> HashStable<CTX> for [u8]

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<CTX, T> HashStable<CTX> for PhantomData<T>

Source§

fn hash_stable(&self, _ctx: &mut CTX, _hasher: &mut StableHasher)

Source§

impl<I: Idx, CTX> HashStable<CTX> for DenseBitSet<I>

Source§

fn hash_stable(&self, _ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<I: Idx, T, CTX> HashStable<CTX> for IndexSlice<I, T>
where T: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<I: Idx, T, CTX> HashStable<CTX> for IndexVec<I, T>
where T: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<K, HCX> HashStable<HCX> for BTreeSet<K>
where K: HashStable<HCX> + StableOrd,

Source§

fn hash_stable(&self, hcx: &mut HCX, hasher: &mut StableHasher)

Source§

impl<K, R, CTX> HashStable<CTX> for IndexSet<K, R>
where K: HashStable<CTX> + Eq + Hash, R: BuildHasher,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<K, V, HCX> !HashStable<HCX> for HashMap<K, V>

Source§

impl<K, V, HCX> HashStable<HCX> for BTreeMap<K, V>
where K: HashStable<HCX> + StableOrd, V: HashStable<HCX>,

Source§

fn hash_stable(&self, hcx: &mut HCX, hasher: &mut StableHasher)

Source§

impl<K, V, R, CTX> HashStable<CTX> for IndexMap<K, V, R>
where K: HashStable<CTX> + Eq + Hash, V: HashStable<CTX>, R: BuildHasher,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<R: Idx, C: Idx, CTX> HashStable<CTX> for BitMatrix<R, C>

Source§

fn hash_stable(&self, _ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T1, T2, CTX> HashStable<CTX> for Result<T1, T2>
where T1: HashStable<CTX>, T2: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T1, T2, T3, CTX> HashStable<CTX> for (T1, T2, T3)
where T1: HashStable<CTX>, T2: HashStable<CTX>, T3: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

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>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T1: HashStable<CTX>, CTX> HashStable<CTX> for (T1,)

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T1: HashStable<CTX>, T2: HashStable<CTX>, CTX> HashStable<CTX> for (T1, T2)

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T, CTX> HashStable<CTX> for Option<T>
where T: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T, CTX> HashStable<CTX> for FiniteBitSet<T>
where T: HashStable<CTX> + FiniteBitSetTy,

Source§

fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T, CTX> HashStable<CTX> for Discriminant<T>

Source§

fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T, CTX> HashStable<CTX> for RangeInclusive<T>
where T: HashStable<CTX>,

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T: HashStable<CTX>, CTX> HashStable<CTX> for [T]

Source§

default fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T: HashStable<CTX>, CTX> HashStable<CTX> for Vec<T>

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Box<T>

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Rc<T>

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<T: ?Sized + HashStable<CTX>, CTX> HashStable<CTX> for Arc<T>

Source§

fn hash_stable(&self, ctx: &mut CTX, hasher: &mut StableHasher)

Source§

impl<V, HCX> !HashStable<HCX> for HashSet<V>

Implementors§

Source§

impl<'a, P, T, HCX> HashStable<HCX> for TaggedRef<'a, P, T>
where P: HashStable<HCX> + Aligned + ?Sized, T: Tag + HashStable<HCX>,

Source§

impl<CTX> HashStable<CTX> for Fingerprint

Source§

impl<CTX> HashStable<CTX> for Pu128

Source§

impl<CTX, T: HashStable<CTX>> HashStable<CTX> for Steal<T>

Source§

impl<HCX, K: Hash + Eq + HashStable<HCX>, V: HashStable<HCX>> HashStable<HCX> for UnordMap<K, V>

Source§

impl<HCX, V: Hash + Eq + HashStable<HCX>> HashStable<HCX> for UnordBag<V>

Source§

impl<HCX, V: Hash + Eq + HashStable<HCX>> HashStable<HCX> for UnordSet<V>

Source§

impl<I: Idx, K, V, C> HashStable<C> for SortedIndexMultiMap<I, K, V>
where K: HashStable<C>, V: HashStable<C>,

Source§

impl<K: HashStable<CTX> + StableOrd, V: HashStable<CTX>, CTX> HashStable<CTX> for SortedMap<K, V>

Source§

impl<T> HashStable<T> for Svh

Source§

impl<T, CTX> HashStable<CTX> for Interned<'_, T>
where T: HashStable<CTX>,

impl<'a, Ty, __CTX> HashStable<__CTX> for TyAndLayout<'a, Ty>
where __CTX: HashStableContext, Ty: HashStable<__CTX>,

impl<'a, __CTX> HashStable<__CTX> for Layout<'a>
where __CTX: HashStableContext,

impl<C> HashStable<C> for ExternAbi

impl<FieldIdx, VariantIdx, __CTX> HashStable<__CTX> for Variants<FieldIdx, VariantIdx>
where __CTX: HashStableContext, VariantIdx: HashStable<__CTX> + Idx, FieldIdx: HashStable<__CTX> + Idx,

impl<FieldIdx, VariantIdx, __CTX> HashStable<__CTX> for LayoutData<FieldIdx, VariantIdx>
where __CTX: HashStableContext, FieldIdx: HashStable<__CTX> + Idx, VariantIdx: HashStable<__CTX> + Idx,

impl<FieldIdx, __CTX> HashStable<__CTX> for FieldsShape<FieldIdx>
where __CTX: HashStableContext, FieldIdx: HashStable<__CTX> + Idx,

impl<VariantIdx, __CTX> HashStable<__CTX> for TagEncoding<VariantIdx>
where __CTX: HashStableContext, VariantIdx: HashStable<__CTX> + Idx,

impl<__CTX> HashStable<__CTX> for BackendRepr
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Float
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Integer
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IntegerType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Primitive
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RegKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Scalar
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AbiAndPrefAlign
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AddressSpace
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Align
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FieldIdx
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Niche
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Reg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ReprFlags
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ReprOptions
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Size
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for VariantIdx
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for WrappingRange
where __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for Nonterminal
where CTX: HashStableContext,

impl<CTX> HashStable<CTX> for DelimArgs
where CTX: HashStableContext,

impl<CTX> HashStable<CTX> for LazyAttrTokenStream

impl<CTX> HashStable<CTX> for TokenStream
where CTX: HashStableContext,

impl<CTX, T> HashStable<CTX> for P<T>
where T: ?Sized + HashStable<CTX>,

impl<CTX: HashStableContext> HashStable<CTX> for Path

impl<ModId, __CTX> HashStable<__CTX> for StrippedCfgItem<ModId>
where __CTX: HashStableContext, ModId: HashStable<__CTX>,

impl<__CTX> HashStable<__CTX> for AsmMacro
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AttrStyle
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BinOpKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BorrowKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BoundAsyncness
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BoundConstness
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BoundPolarity
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ByRef
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CaptureBy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Const
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Defaultness
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FloatTy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ImplPolarity
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmTemplatePiece
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IntTy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IsAuto
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitFloatType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitIntType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaItemInner
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaItemKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Recovered
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Safety
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StrStyle
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitObjectSyntax
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UintTy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnOp
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnsafeBinderCastKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AllocatorKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DiffActivity
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DiffMode
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Kind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CommentKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Delimiter
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IdentIsRaw
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InvisibleOrigin
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaVarKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NonterminalKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NtExprKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NtPatKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TokenKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Spacing
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TokenTree
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BindingMode
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmOptions
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Label
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MacroDef
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaItem
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaItemLit
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AutoDiffAttrs
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AutoDiffItem
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FncTree
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Type
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TypeTree
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Lit
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Token
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DelimSpacing
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DelimSpan
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Movability

impl<__CTX> HashStable<__CTX> for Mutability

impl<__CTX> HashStable<__CTX> for Pinnedness

impl<__CTX> HashStable<__CTX> for AttributeKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DeprecatedSince
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DiagnosticAttribute
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAttr
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InstructionSetAttr
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IntType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OptimizeAttr
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ReprAttr
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StabilityLevel
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StableSince
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnstableReason
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ConstStability
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DefaultBodyStability
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Deprecation
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PartialConstStability
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RustcVersion
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Stability
where __CTX: HashStableContext,

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for HiddenZst

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UniqueTypeId<'tcx>

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for NativeLib

impl<HCX, M> HashStable<HCX> for ModuleCodegen<M>

impl<'hir, R, __CTX> HashStable<__CTX> for Path<'hir, R>
where __CTX: HashStableContext, R: HashStable<__CTX>,

impl<'hir, Unambig, __CTX> HashStable<__CTX> for ConstArgKind<'hir, Unambig>
where __CTX: HashStableContext, Unambig: HashStable<__CTX>,

impl<'hir, Unambig, __CTX> HashStable<__CTX> for TyKind<'hir, Unambig>
where __CTX: HashStableContext, Unambig: HashStable<__CTX>,

impl<'hir, Unambig, __CTX> HashStable<__CTX> for ConstArg<'hir, Unambig>
where __CTX: HashStableContext, Unambig: HashStable<__CTX>,

impl<'hir, Unambig, __CTX> HashStable<__CTX> for Ty<'hir, Unambig>
where __CTX: HashStableContext, Unambig: HashStable<__CTX>,

impl<'hir, __CTX> HashStable<__CTX> for AssocItemConstraintKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ExprKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for FnRetTy<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ForeignItemKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for GenericArg<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for GenericBound<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for GenericParamKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ImplItemKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for InlineAsmOperand<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ItemKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Node<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for OwnerNode<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for PatExprKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for PatKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for QPath<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for StmtKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for StructTailExpr<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Term<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TraitFn<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TraitItemKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TyPatKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for VariantData<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for WherePredicateKind<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Arm<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for AssocItemConstraint<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for BareFnTy<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Block<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Body<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Closure<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for EnumDef<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Expr<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ExprField<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for FieldDef<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for FnDecl<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for FnSig<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ForeignItem<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for GenericArgs<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for GenericParam<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Generics<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Impl<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for ImplItem<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for InlineAsm<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Item<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for LetExpr<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for LetStmt<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Mod<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for MutTy<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for OpaqueTy<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for OwnerInfo<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Param<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Pat<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for PatExpr<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for PatField<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for PathSegment<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for PolyTraitRef<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Stmt<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TraitItem<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TraitRef<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TyPat<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for UnsafeBinderTy<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for Variant<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for WhereBoundPredicate<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for WhereEqPredicate<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for WherePredicate<'hir>
where __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for WhereRegionPredicate<'hir>
where __CTX: HashStableContext,

impl<'tcx, HirCtx: HashStableContext> HashStable<HirCtx> for AttributeMap<'tcx>

impl<'tcx, HirCtx: HashStableContext> HashStable<HirCtx> for OwnerNodes<'tcx>

impl<'tcx, __CTX> HashStable<__CTX> for MaybeOwner<'tcx>
where __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for LangItem

impl<D, __CTX> HashStable<__CTX> for OpaqueTyOrigin<D>
where __CTX: HashStableContext, D: HashStable<__CTX>,

impl<HirCtx: HashStableContext> HashStable<HirCtx> for Crate<'_>

impl<Id, __CTX> HashStable<__CTX> for Res<Id>
where __CTX: HashStableContext, Id: HashStable<__CTX>,

impl<T, U, __CTX> HashStable<__CTX> for PreciseCapturingArgKind<T, U>
where __CTX: HashStableContext, T: HashStable<__CTX>, U: HashStable<__CTX>,

impl<__CTX> HashStable<__CTX> for CtorKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CtorOf
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DefKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Namespace
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NonMacroAttrKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AmbigArg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AssocItemKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AttrArgs
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Attribute
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BlockCheckMode
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ClosureBinder
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ClosureKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Constness
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CoroutineDesugaring
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CoroutineKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CoroutineSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Defaultness
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for GenericArgsParentheses
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for GenericParamSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for HeaderSafety
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ImplicitSelfKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InferDelegationKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IsAsync
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LifetimeName
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LifetimeParamKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LocalSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LoopIdError
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LoopSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MatchSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MissingLifetimeKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ParamName
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PredicateOrigin
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PrimTy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RangeEnd
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RpitContext
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Safety
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnsafeSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UseKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for YieldSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AnonConst
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AttrItem
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AttrPath
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BodyId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ConstBlock
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Destination
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DotDotPos
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FnHeader
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ForeignItemId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ForeignItemRef
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ImplItemId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ImplItemRef
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InferArg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ItemId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Lifetime
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ModSpans
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PreciseCapturingNonLifetimeArg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitBoundModifiers
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitCandidate
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitItemId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitItemRef
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Upvar
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for HirId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ItemLocalId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LanguageItems
where __CTX: HashStableContext,

impl<HCX> HashStable<HCX> for LintId

impl<HCX: HashStableContext> HashStable<HCX> for LintExpectationId

impl<__CTX> HashStable<__CTX> for Level
where __CTX: HashStableContext,

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for PlaceBase

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Certainty

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Reexport

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Linkage

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Level

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ScopeData

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ResolvedArg

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CovTerm

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CoverageKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for MappingKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Op

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BinOp

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BorrowKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CallSource

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CastKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for LocalKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for MirPhase

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for RawPtrKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for RetagKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for RuntimePhase

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for UnOp

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for UnwindAction

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ErrorHandled

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Linkage

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Visibility

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BlockSafety

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for LintLevel

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for LogicalOp

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for IsConstable

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for OverlapMode

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CastKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Adjust

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AutoBorrow

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CastKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AdtKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AssocKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Asyncness

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BorrowKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BoundTyKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ExprKind

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ReifyReason

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarCapture

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for VariantDiscr

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ModuleItems

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ModChild

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for LibFeatures

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Scope

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ScopeTree

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for YieldData

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Index

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BranchSpan

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ConditionId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CounterId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for DecisionInfo

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Expression

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ExpressionId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Mapping

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for InitMask

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for MonoItemData

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BasicBlock

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ConstQualifs

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Local

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Location

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Promoted

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for SourceInfo

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for SourceScope

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ArmId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Block

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BlockId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ExprId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for FieldExpr

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for LocalVarId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ParamId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for StmtId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for TempLifetime

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Children

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Graph

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AdtFlags

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AssocItem

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AssocItems

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BoundRegion

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for BoundTy

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for CaptureInfo

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Destructor

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for FieldDef

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for Generics

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for IntrinsicDef

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ParamConst

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ParamTy

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for RvalueScopes

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarId

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarPath

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for VariantDef

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for VariantFlags

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for TraitDef

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for TraitImpls

impl<'__ctx, Id> HashStable<StableHashingContext<'__ctx>> for Visibility<Id>
where Id: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, Node> HashStable<StableHashingContext<'__ctx>> for NodeFlowData<Node>
where Node: HashStable<StableHashingContext<'__ctx>> + Idx,

impl<'__ctx, O> HashStable<StableHashingContext<'__ctx>> for AssertKind<O>
where O: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, Prov> HashStable<StableHashingContext<'__ctx>> for Scalar<Prov>
where Prov: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, Prov> HashStable<StableHashingContext<'__ctx>> for ProvenanceMap<Prov>
where Prov: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, Prov> HashStable<StableHashingContext<'__ctx>> for Pointer<Prov>
where Prov: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, Prov, Extra, Bytes> HashStable<StableHashingContext<'__ctx>> for Allocation<Prov, Extra, Bytes>

impl<'__ctx, T> HashStable<StableHashingContext<'__ctx>> for Set1<T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, T> HashStable<StableHashingContext<'__ctx>> for ClearCrossCrate<T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, T> HashStable<StableHashingContext<'__ctx>> for DeeplyNormalize<T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, T> HashStable<StableHashingContext<'__ctx>> for Normalize<T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, T> HashStable<StableHashingContext<'__ctx>> for Placeholder<T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<'__ctx, V, T> HashStable<StableHashingContext<'__ctx>> for ProjectionElem<V, T>

impl<'a, 'tcx> HashStable<StableHashingContext<'a>> for BindingForm<'tcx>

impl<'a, 'tcx> HashStable<StableHashingContext<'a>> for GenericArg<'tcx>

impl<'a, 'tcx> HashStable<StableHashingContext<'a>> for Term<'tcx>

impl<'a, 'tcx, H, T> HashStable<StableHashingContext<'a>> for &'tcx RawList<H, T>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ExportedSymbol<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for AggregateKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureOutlivesSubject<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Const<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ConstValue<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ConstraintCategory<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for InlineAsmOperand<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for LocalInfo<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MentionedItem<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for NonDivergingIntrinsic<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for NullOp<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Operand<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Rvalue<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for StatementKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for TerminatorKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for VarDebugInfoContents<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for GlobalAlloc<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MonoItem<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for AdtExprBase<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for BodyTy<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ExprKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for InlineAsmOperand<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for PatKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for PatRangeBoundary<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for StmtKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ObligationCauseCode<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for OutlivesBound<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for InstanceKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarArgs<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UserTypeKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ValTreeKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for InhabitedPredicate<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for FnAbiError<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for LayoutError<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for NormalizationError<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for PatternKind<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for VtblEntry<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Place<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for PlaceWithHirId<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Projection<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for QueryRegionConstraints<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ConstAllocation<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for GlobalId<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for LitToConstInput<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CodegenUnit<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MonoItemPartitions<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for BasicBlockData<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for BasicBlocks<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Body<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for BorrowCheckResult<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureOutlivesRequirement<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureOutlivesSubjectTy<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureRegionRequirements<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ConstAlloc<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ConstOperand<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CopyNonOverlapping<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CoroutineInfo<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CoroutineLayout<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CoroutineSavedTy<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DestructuredConstant<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for LocalDecl<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MirSource<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Place<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for SourceScopeData<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Statement<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Terminator<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UnevaluatedConst<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for VarBindingForm<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for VarDebugInfo<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for VarDebugInfoFragment<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for AdtExpr<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Arm<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Ascription<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureExpr<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Expr<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for FieldPat<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for FruInfo<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for InlineAsmExpr<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Param<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Pat<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for PatRange<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Stmt<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Thir<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CandidateStep<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DropckConstraint<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DropckOutlivesResult<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MethodAutoderefBadTy<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MethodAutoderefStepsResult<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for NormalizationResult<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for AscribeUserType<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DropckOutlives<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Eq<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ImpliedOutlivesBounds<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ProvePredicate<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Subtype<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ExternalConstraints<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for PredefinedOpaques<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DerivedCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DerivedHostCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for IfExpressionCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ImplDerivedCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ImplDerivedHostCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for MatchExpressionArmCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ObligationCause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ObligationCauseCodeHandle<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Adjustment<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Pattern<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for AdtDef<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for BoundConst<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CanonicalUserTypeAnnotation<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CapturedPlace<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Clause<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureSizeProfileData<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureTypeInfo<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Const<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ConstConditions<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CratePredicatesMap<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for CrateVariancesMap<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for DestructuredConst<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Expr<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for GenericPredicates<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ImplTraitHeader<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Instance<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for OpaqueHiddenType<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ParamEnv<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Predicate<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Region<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for SymbolName<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Ty<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for TypeckResults<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for TypingEnv<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UserArgs<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UserSelfTy<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UserType<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ValTree<'tcx>

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for Value<'tcx>

impl<'tcx, '__ctx, N> HashStable<StableHashingContext<'__ctx>> for ImplSource<'tcx, N>
where N: HashStable<StableHashingContext<'__ctx>>,

impl<'tcx, '__ctx, N> HashStable<StableHashingContext<'__ctx>> for ImplSourceUserDefinedData<'tcx, N>
where N: HashStable<StableHashingContext<'__ctx>>,

impl<'tcx, '__ctx, R> HashStable<StableHashingContext<'__ctx>> for QueryResponse<'tcx, R>
where R: HashStable<StableHashingContext<'__ctx>>,

impl<'tcx, '__ctx, T> HashStable<StableHashingContext<'__ctx>> for ParamEnvAnd<'tcx, T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<'tcx, '__ctx, T> HashStable<StableHashingContext<'__ctx>> for PseudoCanonicalInput<'tcx, T>
where T: HashStable<StableHashingContext<'__ctx>>,

impl<CTX> HashStable<CTX> for Cache

impl<CTX> HashStable<CTX> for ScalarInt

impl<KEY: Copy, CTX> !HashStable<CTX> for Feed<'_, KEY>

impl<KEY: Copy, CTX> !HashStable<CTX> for TyCtxtFeed<'_, KEY>

impl<I: Interner, __CTX> HashStable<__CTX> for NestedGoals<I>
where Vec<Goal<I, NormalizesTo<I>>>: HashStable<__CTX>, Vec<(GoalSource, Goal<I, I::Predicate>)>: HashStable<__CTX>,

impl<__CTX> HashStable<__CTX> for GenerateProofTree

impl<HCX> HashStable<HCX> for WorkProductId

impl<__CTX> HashStable<__CTX> for CrateType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for EntryFnType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OomStrategy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OptLevel
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutFileName
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutputType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SymbolManglingVersion
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CrateDepKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DllCallingConvention
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExternCrateSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LinkagePreference
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PeImportNameType
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PathKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NativeLibKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutputFilenames
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutputTypes
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CrateSource
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DllImport
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExternCrate
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ForeignModule
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NativeLib
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Limit
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Limits
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NativeLib
where __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for Span
where CTX: HashStableContext,

impl<CTX> HashStable<CTX> for Symbol

impl<CTX: HashStableContext> HashStable<CTX> for DefId

impl<CTX: HashStableContext> HashStable<CTX> for ExpnId

impl<T, __CTX> HashStable<__CTX> for Spanned<T>
where __CTX: HashStableContext, T: HashStable<__CTX>,

impl<__CTX> HashStable<__CTX> for Edition
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SourceFileHashAlgorithm
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AstPass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DesugaringKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExpnKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MacroKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Transparency
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DefPathHash
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LocalModDefId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ModDefId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StableCrateId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExpnData
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExpnHash
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ErrorGuaranteed
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MultiByteChar
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NormalizedPos
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SourceFileHash
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StableSourceFileId
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Ident
where __CTX: HashStableContext,

impl<'a, Ty, __CTX> HashStable<__CTX> for ArgAbi<'a, Ty>
where __CTX: HashStableContext, Ty: HashStable<__CTX>,

impl<'a, Ty, __CTX> HashStable<__CTX> for FnAbi<'a, Ty>
where __CTX: HashStableContext, Ty: HashStable<__CTX>,

impl<CTX> HashStable<CTX> for Stability

impl<__CTX> HashStable<__CTX> for AArch64InlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AArch64InlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArmInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArmInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AvrInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AvrInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BpfInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BpfInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CSKYInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CSKYInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for HexagonInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for HexagonInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmClobberAbi
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmRegOrRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LoongArchInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LoongArchInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for M68kInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for M68kInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MipsInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MipsInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Msp430InlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Msp430InlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NvptxInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NvptxInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PowerPCInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PowerPCInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RiscVInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RiscVInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for S390xInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for S390xInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SparcInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SparcInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SpirVInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SpirVInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for WasmInlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for WasmInlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for X86InlineAsmReg
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for X86InlineAsmRegClass
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArgExtension
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Conv
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PassMode
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RiscvInterruptKind
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OnBrokenPipe
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PanicStrategy
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArgAttribute
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArgAttributes
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CastTarget
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Uniform
where __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SanitizerSet
where __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for InferConst

impl<CTX> HashStable<CTX> for InferTy

impl<DefId, __CTX> HashStable<__CTX> for SimplifiedType<DefId>
where DefId: HashStable<__CTX>,

impl<I: Interner, A, __CTX> HashStable<__CTX> for OutlivesPredicate<I, A>
where A: HashStable<__CTX>, I::Region: HashStable<__CTX>,

impl<I: Interner, P, __CTX> HashStable<__CTX> for Goal<I, P>
where I::ParamEnv: HashStable<__CTX>, P: HashStable<__CTX>,

impl<I: Interner, P, __CTX> HashStable<__CTX> for QueryInput<I, P>
where Goal<I, P>: HashStable<__CTX>, I::PredefinedOpaques: HashStable<__CTX>,

impl<I: Interner, T, __CTX> HashStable<__CTX> for Binder<I, T>
where T: HashStable<__CTX>, I::BoundVarKinds: HashStable<__CTX>,

impl<I: Interner, T, __CTX> HashStable<__CTX> for EarlyBinder<I, T>
where T: HashStable<__CTX>, PhantomData<I>: HashStable<__CTX>,

impl<I: Interner, V, __CTX> HashStable<__CTX> for Canonical<I, V>
where V: HashStable<__CTX>, I::CanonicalVars: HashStable<__CTX>,

impl<I: Interner, V, __CTX> HashStable<__CTX> for CanonicalQueryInput<I, V>
where Canonical<I, V>: HashStable<__CTX>, TypingMode<I>: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for CanonicalVarKind<I>

impl<I: Interner, __CTX> HashStable<__CTX> for ClauseKind<I>

impl<I: Interner, __CTX> HashStable<__CTX> for ConstKind<I>

impl<I: Interner, __CTX> HashStable<__CTX> for ExistentialPredicate<I>

impl<I: Interner, __CTX> HashStable<__CTX> for GenericArgKind<I>
where I::Region: HashStable<__CTX>, I::Ty: HashStable<__CTX>, I::Const: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for PredicateKind<I>
where ClauseKind<I>: HashStable<__CTX>, I::DefId: HashStable<__CTX>, SubtypePredicate<I>: HashStable<__CTX>, CoercePredicate<I>: HashStable<__CTX>, I::Const: HashStable<__CTX>, NormalizesTo<I>: HashStable<__CTX>, I::Term: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for TermKind<I>
where I::Ty: HashStable<__CTX>, I::Const: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for TyKind<I>
where I::AdtDef: HashStable<__CTX>, I::GenericArgs: HashStable<__CTX>, I::DefId: HashStable<__CTX>, I::Ty: HashStable<__CTX>, I::Const: HashStable<__CTX>, I::Pat: HashStable<__CTX>, I::Region: HashStable<__CTX>, Binder<I, FnSigTys<I>>: HashStable<__CTX>, FnHeader<I>: HashStable<__CTX>, UnsafeBinderInner<I>: HashStable<__CTX>, I::BoundExistentialPredicates: HashStable<__CTX>, I::Tys: HashStable<__CTX>, AliasTy<I>: HashStable<__CTX>, I::ParamTy: HashStable<__CTX>, I::BoundTy: HashStable<__CTX>, I::PlaceholderTy: HashStable<__CTX>, I::ErrorGuaranteed: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for TypingMode<I>

impl<I: Interner, __CTX> HashStable<__CTX> for NestedNormalizationGoals<I>
where Vec<(GoalSource, Goal<I, I::Predicate>)>: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for PredefinedOpaquesData<I>
where Vec<(OpaqueTypeKey<I>, I::Ty)>: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for Response<I>

impl<I: Interner, __CTX> HashStable<__CTX> for AliasTerm<I>
where I::GenericArgs: HashStable<__CTX>, I::DefId: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for AliasTy<I>
where I::GenericArgs: HashStable<__CTX>, I::DefId: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for CanonicalVarInfo<I>
where CanonicalVarKind<I>: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for CanonicalVarValues<I>
where I::GenericArgs: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for CoercePredicate<I>
where I::Ty: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for ExistentialProjection<I>
where I::DefId: HashStable<__CTX>, I::GenericArgs: HashStable<__CTX>, I::Term: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for ExistentialTraitRef<I>
where I::DefId: HashStable<__CTX>, I::GenericArgs: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for FnHeader<I>
where I::Safety: HashStable<__CTX>, I::Abi: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for FnSig<I>
where I::Tys: HashStable<__CTX>, I::Safety: HashStable<__CTX>, I::Abi: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for FnSigTys<I>
where I::Tys: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for HostEffectPredicate<I>
where TraitRef<I>: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for NormalizesTo<I>
where AliasTerm<I>: HashStable<__CTX>, I::Term: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for OpaqueTypeKey<I>
where I::LocalDefId: HashStable<__CTX>, I::GenericArgs: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for ProjectionPredicate<I>
where AliasTerm<I>: HashStable<__CTX>, I::Term: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for SubtypePredicate<I>
where I::Ty: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for TraitPredicate<I>
where TraitRef<I>: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for TraitRef<I>
where I::DefId: HashStable<__CTX>, I::GenericArgs: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for TypeAndMut<I>
where I::Ty: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for UnevaluatedConst<I>
where I::DefId: HashStable<__CTX>, I::GenericArgs: HashStable<__CTX>,

impl<I: Interner, __CTX> HashStable<__CTX> for UnsafeBinderInner<I>
where Binder<I, I::Ty>: HashStable<__CTX>,

impl<T: HashStable<CTX>, CTX> HashStable<CTX> for WithCachedTypeInfo<T>

impl<__CTX> HashStable<__CTX> for AliasRelationDirection

impl<__CTX> HashStable<__CTX> for AliasTermKind

impl<__CTX> HashStable<__CTX> for AliasTyKind

impl<__CTX> HashStable<__CTX> for BoundConstness

impl<__CTX> HashStable<__CTX> for CanonicalTyVarKind

impl<__CTX> HashStable<__CTX> for ClosureKind

impl<__CTX> HashStable<__CTX> for DynKind

impl<__CTX> HashStable<__CTX> for FloatTy

impl<__CTX> HashStable<__CTX> for ImplPolarity

impl<__CTX> HashStable<__CTX> for IntTy

impl<__CTX> HashStable<__CTX> for PredicatePolarity

impl<__CTX> HashStable<__CTX> for UintTy

impl<__CTX> HashStable<__CTX> for Variance

impl<__CTX> HashStable<__CTX> for PathKind

impl<__CTX> HashStable<__CTX> for BuiltinImplSource

impl<__CTX> HashStable<__CTX> for Certainty

impl<__CTX> HashStable<__CTX> for GoalSource

impl<__CTX> HashStable<__CTX> for MaybeCause

impl<__CTX> HashStable<__CTX> for NoSolution

impl<__CTX> HashStable<__CTX> for BoundVar

impl<__CTX> HashStable<__CTX> for DebruijnIndex

impl<__CTX> HashStable<__CTX> for RegionVid

impl<__CTX> HashStable<__CTX> for UniverseIndex