pub trait Interner: Sized {
Show 43 associated items type DefId: Copy + Debug + Hash + Ord; type AdtDef: Copy + Debug + Hash + Ord; type GenericArgs: Copy + DebugWithInfcx<Self> + Hash + Ord + IntoIterator<Item = Self::GenericArg>; type GenericArg: Copy + DebugWithInfcx<Self> + Hash + Ord; type Term: Copy + Debug + Hash + Ord; type Binder<T>; type CanonicalVars: Copy + Debug + Hash + Eq + IntoIterator<Item = CanonicalVarInfo<Self>>; type Ty: Copy + DebugWithInfcx<Self> + Hash + Ord + Into<Self::GenericArg> + IntoKind<Kind = TyKind<Self>>; type Tys: Copy + Debug + Hash + Ord + IntoIterator<Item = Self::Ty>; type AliasTy: Copy + DebugWithInfcx<Self> + Hash + Ord; type ParamTy: Copy + Debug + Hash + Ord; type BoundTy: Copy + Debug + Hash + Ord; type PlaceholderTy: Copy + Debug + Hash + Ord + PlaceholderLike; type ErrorGuaranteed: Copy + Debug + Hash + Ord; type BoundExistentialPredicates: Copy + DebugWithInfcx<Self> + Hash + Ord; type PolyFnSig: Copy + DebugWithInfcx<Self> + Hash + Ord; type AllocId: Copy + Debug + Hash + Ord; type Const: Copy + DebugWithInfcx<Self> + Hash + Ord + Into<Self::GenericArg> + IntoKind<Kind = ConstKind<Self>> + ConstTy<Self>; type AliasConst: Copy + DebugWithInfcx<Self> + Hash + Ord; type PlaceholderConst: Copy + Debug + Hash + Ord + PlaceholderLike; type ParamConst: Copy + Debug + Hash + Ord; type BoundConst: Copy + Debug + Hash + Ord; type ValueConst: Copy + Debug + Hash + Ord; type ExprConst: Copy + DebugWithInfcx<Self> + Hash + Ord; type Region: Copy + DebugWithInfcx<Self> + Hash + Ord + Into<Self::GenericArg> + IntoKind<Kind = RegionKind<Self>>; type EarlyParamRegion: Copy + Debug + Hash + Ord; type LateParamRegion: Copy + Debug + Hash + Ord; type BoundRegion: Copy + Debug + Hash + Ord; type InferRegion: Copy + DebugWithInfcx<Self> + Hash + Ord; type PlaceholderRegion: Copy + Debug + Hash + Ord + PlaceholderLike; type Predicate: Copy + Debug + Hash + Eq; type TraitPredicate: Copy + Debug + Hash + Eq; type RegionOutlivesPredicate: Copy + Debug + Hash + Eq; type TypeOutlivesPredicate: Copy + Debug + Hash + Eq; type ProjectionPredicate: Copy + Debug + Hash + Eq; type NormalizesTo: Copy + Debug + Hash + Eq; type SubtypePredicate: Copy + Debug + Hash + Eq; type CoercePredicate: Copy + Debug + Hash + Eq; type ClosureKind: Copy + Debug + Hash + Eq; // Required methods fn mk_canonical_var_infos( self, infos: &[CanonicalVarInfo<Self>] ) -> Self::CanonicalVars; fn mk_bound_ty(self, debruijn: DebruijnIndex, var: BoundVar) -> Self::Ty; fn mk_bound_region( self, debruijn: DebruijnIndex, var: BoundVar ) -> Self::Region; fn mk_bound_const( self, debruijn: DebruijnIndex, var: BoundVar, ty: Self::Ty ) -> Self::Const;
}

Required Associated Types§

source

type DefId: Copy + Debug + Hash + Ord

source

type AdtDef: Copy + Debug + Hash + Ord

source

type GenericArgs: Copy + DebugWithInfcx<Self> + Hash + Ord + IntoIterator<Item = Self::GenericArg>

source

type GenericArg: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type Term: Copy + Debug + Hash + Ord

source

type Binder<T>

source

type CanonicalVars: Copy + Debug + Hash + Eq + IntoIterator<Item = CanonicalVarInfo<Self>>

source

type Ty: Copy + DebugWithInfcx<Self> + Hash + Ord + Into<Self::GenericArg> + IntoKind<Kind = TyKind<Self>>

source

type Tys: Copy + Debug + Hash + Ord + IntoIterator<Item = Self::Ty>

source

type AliasTy: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type ParamTy: Copy + Debug + Hash + Ord

source

type BoundTy: Copy + Debug + Hash + Ord

source

type PlaceholderTy: Copy + Debug + Hash + Ord + PlaceholderLike

source

type ErrorGuaranteed: Copy + Debug + Hash + Ord

source

type BoundExistentialPredicates: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type PolyFnSig: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type AllocId: Copy + Debug + Hash + Ord

source

type Const: Copy + DebugWithInfcx<Self> + Hash + Ord + Into<Self::GenericArg> + IntoKind<Kind = ConstKind<Self>> + ConstTy<Self>

source

type AliasConst: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type PlaceholderConst: Copy + Debug + Hash + Ord + PlaceholderLike

source

type ParamConst: Copy + Debug + Hash + Ord

source

type BoundConst: Copy + Debug + Hash + Ord

source

type ValueConst: Copy + Debug + Hash + Ord

source

type ExprConst: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type Region: Copy + DebugWithInfcx<Self> + Hash + Ord + Into<Self::GenericArg> + IntoKind<Kind = RegionKind<Self>>

source

type EarlyParamRegion: Copy + Debug + Hash + Ord

source

type LateParamRegion: Copy + Debug + Hash + Ord

source

type BoundRegion: Copy + Debug + Hash + Ord

source

type InferRegion: Copy + DebugWithInfcx<Self> + Hash + Ord

source

type PlaceholderRegion: Copy + Debug + Hash + Ord + PlaceholderLike

source

type Predicate: Copy + Debug + Hash + Eq

source

type TraitPredicate: Copy + Debug + Hash + Eq

source

type RegionOutlivesPredicate: Copy + Debug + Hash + Eq

source

type TypeOutlivesPredicate: Copy + Debug + Hash + Eq

source

type ProjectionPredicate: Copy + Debug + Hash + Eq

source

type NormalizesTo: Copy + Debug + Hash + Eq

source

type SubtypePredicate: Copy + Debug + Hash + Eq

source

type CoercePredicate: Copy + Debug + Hash + Eq

source

type ClosureKind: Copy + Debug + Hash + Eq

Required Methods§

source

fn mk_canonical_var_infos( self, infos: &[CanonicalVarInfo<Self>] ) -> Self::CanonicalVars

source

fn mk_bound_ty(self, debruijn: DebruijnIndex, var: BoundVar) -> Self::Ty

source

fn mk_bound_region(self, debruijn: DebruijnIndex, var: BoundVar) -> Self::Region

source

fn mk_bound_const( self, debruijn: DebruijnIndex, var: BoundVar, ty: Self::Ty ) -> Self::Const

Object Safety§

This trait is not object safe.

Implementors§