pub trait HashStable<CTX> {
    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

Implementations on Foreign Types

Implementors

impl<__CTX> HashStable<__CTX> for Labelwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for NestedMetaItemwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaItemwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MetaItemKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ByRefwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BindingAnnotationwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Mutabilitywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BorrowKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CaptureBywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Movabilitywhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for MacArgswhere
    CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MacDelimiterwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MacroDefwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StrStylewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Litwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitIntTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitFloatTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FloatTywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IntTywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UintTywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitObjectSyntaxwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmOptionswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmTemplatePiecewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IsAutowhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Unsafewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Constwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Defaultnesswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ImplPolaritywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AttrStylewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AttrItemwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AllocatorKindwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for CommentKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BinOpTokenwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Delimiterwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LitKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Litwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TokenKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Tokenwhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for Nonterminalwhere
    CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TokenTreewhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for TokenStreamwhere
    CTX: HashStableContext,

impl<CTX> HashStable<CTX> for LazyAttrTokenStream

impl<__CTX> HashStable<__CTX> for Spacingwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DelimSpanwhere
    __CTX: HashStableContext,

impl<AstCtx: HashStableContext> HashStable<AstCtx> for Attribute

impl<__CTX> HashStable<__CTX> for InlineAttrwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InstructionSetAttrwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OptimizeAttrwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Stabilitywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ConstStabilitywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DefaultBodyStabilitywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StabilityLevelwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnstableReasonwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Deprecationwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IntTypewhere
    __CTX: HashStableContext,

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

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

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

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

impl<__CTX> HashStable<__CTX> for ErrorGuaranteedwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CtorOfwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CtorKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NonMacroAttrKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DefKindwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for Lifetimewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ParamNamewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LifetimeNamewhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for ConstArgwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InferArgwhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for TraitBoundModifierwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for LifetimeParamKindwhere
    __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for GenericParamKind<'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 WherePredicate<'hir>where
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PredicateOriginwhere
    __CTX: HashStableContext,

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

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

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

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

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

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

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

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

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

impl<__CTX> HashStable<__CTX> for RangeEndwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DotDotPoswhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for BinOpKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnOpwhere
    __CTX: HashStableContext,

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

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

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

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

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

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

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

impl<__CTX> HashStable<__CTX> for BlockCheckModewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UnsafeSourcewhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for GeneratorKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AsyncGeneratorKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArrayLenwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AnonConstwhere
    __CTX: HashStableContext,

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

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

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

impl<__CTX> HashStable<__CTX> for LocalSourcewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MatchSourcewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LoopSourcewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LoopIdErrorwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Destinationwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for YieldSourcewhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for TraitItemIdwhere
    __CTX: HashStableContext,

impl<'hir, __CTX> HashStable<__CTX> for TraitItem<'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<__CTX> HashStable<__CTX> for ImplItemIdwhere
    __CTX: HashStableContext,

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

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

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

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

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

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

impl<__CTX> HashStable<__CTX> for PrimTywhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for OpaqueTyOriginwhere
    __CTX: HashStableContext,

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

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

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

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

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

impl<__CTX> HashStable<__CTX> for ImplicitSelfKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IsAsyncwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Defaultnesswhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for ClosureBinderwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for ModSpanswhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for UseKindwhere
    __CTX: HashStableContext,

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

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

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

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

impl<__CTX> HashStable<__CTX> for ItemIdwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for Unsafetywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Constnesswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FnHeaderwhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for TraitItemRefwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ImplItemRefwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AssocItemKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ForeignItemIdwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ForeignItemRefwhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for Upvarwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for TraitCandidatewhere
    __CTX: HashStableContext,

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

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

impl<__CTX> HashStable<__CTX> for HirIdwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ItemLocalIdwhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for LangItem

impl<__CTX> HashStable<__CTX> for LanguageItemswhere
    __CTX: HashStableContext,

impl<HirCtx: HashStableContext> HashStable<HirCtx> for BodyId

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

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

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

impl<__CTX> HashStable<__CTX> for Levelwhere
    __CTX: HashStableContext,

impl<HCX> HashStable<HCX> for LintId

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

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

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

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

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

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

impl<'tcx, '__ctx, V> HashStable<StableHashingContext<'__ctx>> for Canonical<'tcx, V>where
    V: HashStable<StableHashingContext<'__ctx>>,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<CTX> HashStable<CTX> for GraphIsCyclicCache

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

impl<'tcx, '__ctx, Prov, Extra> HashStable<StableHashingContext<'__ctx>> for ConstAllocation<'tcx, Prov, Extra>where
    Prov: HashStable<StableHashingContext<'__ctx>>,
    Extra: HashStable<StableHashingContext<'__ctx>>,

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

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

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

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

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

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

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 GlobalAlloc<'tcx>

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

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

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

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

impl<CTX> HashStable<CTX> for PredecessorCache

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<CTX> HashStable<CTX> for SwitchSourceCache

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

impl<CTX> HashStable<CTX> for PostorderCache

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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, N> HashStable<StableHashingContext<'__ctx>> for ImplSourceGeneratorData<'tcx, N>where
    N: HashStable<StableHashingContext<'__ctx>>,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'__ctx, D> HashStable<StableHashingContext<'__ctx>> for SimplifiedTypeGen<D>where
    D: Copy + Debug + Eq,
    D: HashStable<StableHashingContext<'__ctx>>,

impl<'a, '__ctx> HashStable<StableHashingContext<'__ctx>> for DefIdForest<'a>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<CTX> HashStable<CTX> for ScalarInt

impl<'tcx, '__ctx, P> HashStable<StableHashingContext<'__ctx>> for Unevaluated<'tcx, P>where
    P: HashStable<StableHashingContext<'__ctx>>,

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

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

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

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

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

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

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

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

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

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

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

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

impl<'a, 'tcx, T> HashStable<StableHashingContext<'a>> for &'tcx List<T>where
    T: HashStable<StableHashingContext<'a>>,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'__ctx, A, B> HashStable<StableHashingContext<'__ctx>> for OutlivesPredicate<A, B>where
    A: HashStable<StableHashingContext<'__ctx>>,
    B: HashStable<StableHashingContext<'__ctx>>,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<HCX> HashStable<HCX> for WorkProductId

impl<__CTX> HashStable<__CTX> for NativeLibKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NativeLibwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OptLevelwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SymbolManglingVersionwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutputTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutputTypeswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OutputFilenameswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for EntryFnTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CrateTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for OomStrategywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CrateSourcewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CrateDepKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for LinkagePreferencewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NativeLibwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PeImportNameTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DllImportwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DllCallingConventionwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ForeignModulewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExternCratewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExternCrateSourcewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PathKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Limitwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Limitswhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for Editionwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExpnHashwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Transparencywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExpnDatawhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ExpnKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MacroKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AstPasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DesugaringKindwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for DefPathHashwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for StableCrateIdwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for Identwhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for Symbol

impl<__CTX> HashStable<__CTX> for SourceFileHashAlgorithmwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SourceFileHashwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DebuggerVisualizerTypewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for DebuggerVisualizerFilewhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for Spanwhere
    CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PassModewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArgAttributewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArgExtensionwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArgAttributeswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RegKindwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Regwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Uniformwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for CastTargetwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for Convwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for AdjustForForeignAbiErrorwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Sizewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Alignwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AbiAndPrefAlignwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Integerwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Primitivewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for WrappingRangewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Scalarwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FieldsShapewhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Abiwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for VariantIdxwhere
    __CTX: HashStableContext,

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

impl<__CTX> HashStable<__CTX> for TagEncodingwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Nichewhere
    __CTX: HashStableContext,

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

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

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

impl<__CTX> HashStable<__CTX> for AArch64InlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AArch64InlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArmInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for ArmInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AvrInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for AvrInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BpfInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for BpfInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for HexagonInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for HexagonInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MipsInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for MipsInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Msp430InlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Msp430InlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NvptxInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for NvptxInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PowerPCInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PowerPCInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RiscVInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for RiscVInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for S390xInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for S390xInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SpirVInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for SpirVInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for WasmInlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for WasmInlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for X86InlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for X86InlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmRegwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmRegOrRegClasswhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for InlineAsmClobberAbiwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Abiwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for PanicStrategywhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for SanitizerSet

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

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

impl<__CTX> HashStable<__CTX> for DynKindwhere
    __CTX: HashStableContext,

impl<CTX: HashStableContext, I: Interner> HashStable<CTX> for TyKind<I>where
    I::AdtDef: HashStable<CTX>,
    I::DefId: HashStable<CTX>,
    I::SubstsRef: HashStable<CTX>,
    I::Ty: HashStable<CTX>,
    I::Const: HashStable<CTX>,
    I::TypeAndMut: HashStable<CTX>,
    I::PolyFnSig: HashStable<CTX>,
    I::ListBinderExistentialPredicate: HashStable<CTX>,
    I::Region: HashStable<CTX>,
    I::Movability: HashStable<CTX>,
    I::Mutability: HashStable<CTX>,
    I::BinderListTy: HashStable<CTX>,
    I::ListTy: HashStable<CTX>,
    I::ProjectionTy: HashStable<CTX>,
    I::BoundTy: HashStable<CTX>,
    I::ParamTy: HashStable<CTX>,
    I::PlaceholderType: HashStable<CTX>,
    I::InferTy: HashStable<CTX>,
    I::DelaySpanBugEmitted: HashStable<CTX>,

impl<CTX: HashStableContext, I: Interner> HashStable<CTX> for RegionKind<I>where
    I::EarlyBoundRegion: HashStable<CTX>,
    I::BoundRegion: HashStable<CTX>,
    I::FreeRegion: HashStable<CTX>,
    I::RegionVid: HashStable<CTX>,
    I::PlaceholderRegion: HashStable<CTX>,

impl<__CTX> HashStable<__CTX> for DebruijnIndexwhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for IntTywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for UintTywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for FloatTywhere
    __CTX: HashStableContext,

impl<__CTX> HashStable<__CTX> for Variancewhere
    __CTX: HashStableContext,

impl<CTX> HashStable<CTX> for InferTy

impl<__CTX> HashStable<__CTX> for UniverseIndexwhere
    __CTX: HashStableContext,