Trait rustc_middle::ty::Interner
source · pub trait Interner: Sized {
Show 40 associated items
type DefId: Clone + Debug + Hash + Ord;
type AdtDef: Clone + Debug + Hash + Ord;
type GenericArgs: Clone + DebugWithInfcx<Self> + Hash + Ord + IntoIterator<Item = Self::GenericArg>;
type GenericArg: Clone + DebugWithInfcx<Self> + Hash + Ord;
type Term: Clone + Debug + Hash + Ord;
type Binder<T>;
type TypeAndMut: Clone + Debug + Hash + Ord;
type CanonicalVars: Clone + Debug + Hash + Eq;
type Ty: Clone + DebugWithInfcx<Self> + Hash + Ord;
type Tys: Clone + Debug + Hash + Ord + IntoIterator<Item = Self::Ty>;
type AliasTy: Clone + DebugWithInfcx<Self> + Hash + Ord;
type ParamTy: Clone + Debug + Hash + Ord;
type BoundTy: Clone + Debug + Hash + Ord;
type PlaceholderTy: Clone + Debug + Hash + Ord + Placeholder;
type ErrorGuaranteed: Clone + Debug + Hash + Ord;
type BoundExistentialPredicates: Clone + DebugWithInfcx<Self> + Hash + Ord;
type PolyFnSig: Clone + DebugWithInfcx<Self> + Hash + Ord;
type AllocId: Clone + Debug + Hash + Ord;
type Const: Clone + DebugWithInfcx<Self> + Hash + Ord;
type AliasConst: Clone + DebugWithInfcx<Self> + Hash + Ord;
type PlaceholderConst: Clone + Debug + Hash + Ord + Placeholder;
type ParamConst: Clone + Debug + Hash + Ord;
type BoundConst: Clone + Debug + Hash + Ord;
type ValueConst: Clone + Debug + Hash + Ord;
type ExprConst: Clone + DebugWithInfcx<Self> + Hash + Ord;
type Region: Clone + DebugWithInfcx<Self> + Hash + Ord;
type EarlyParamRegion: Clone + Debug + Hash + Ord;
type BoundRegion: Clone + Debug + Hash + Ord;
type LateParamRegion: Clone + Debug + Hash + Ord;
type InferRegion: Clone + DebugWithInfcx<Self> + Hash + Ord;
type PlaceholderRegion: Clone + Debug + Hash + Ord + Placeholder;
type Predicate: Clone + Debug + Hash + Eq;
type TraitPredicate: Clone + Debug + Hash + Eq;
type RegionOutlivesPredicate: Clone + Debug + Hash + Eq;
type TypeOutlivesPredicate: Clone + Debug + Hash + Eq;
type ProjectionPredicate: Clone + Debug + Hash + Eq;
type SubtypePredicate: Clone + Debug + Hash + Eq;
type CoercePredicate: Clone + Debug + Hash + Eq;
type ClosureKind: Clone + Debug + Hash + Eq;
// Required method
fn ty_and_mut_to_parts(
ty_and_mut: Self::TypeAndMut
) -> (Self::Ty, Mutability);
}
Required Associated Types§
type DefId: Clone + Debug + Hash + Ord
type AdtDef: Clone + Debug + Hash + Ord
type GenericArgs: Clone + DebugWithInfcx<Self> + Hash + Ord + IntoIterator<Item = Self::GenericArg>
type GenericArg: Clone + DebugWithInfcx<Self> + Hash + Ord
type Term: Clone + Debug + Hash + Ord
type Binder<T>
type TypeAndMut: Clone + Debug + Hash + Ord
type CanonicalVars: Clone + Debug + Hash + Eq
type Ty: Clone + DebugWithInfcx<Self> + Hash + Ord
type Tys: Clone + Debug + Hash + Ord + IntoIterator<Item = Self::Ty>
type AliasTy: Clone + DebugWithInfcx<Self> + Hash + Ord
type ParamTy: Clone + Debug + Hash + Ord
type BoundTy: Clone + Debug + Hash + Ord
type PlaceholderTy: Clone + Debug + Hash + Ord + Placeholder
type ErrorGuaranteed: Clone + Debug + Hash + Ord
type BoundExistentialPredicates: Clone + DebugWithInfcx<Self> + Hash + Ord
type PolyFnSig: Clone + DebugWithInfcx<Self> + Hash + Ord
type AllocId: Clone + Debug + Hash + Ord
type Const: Clone + DebugWithInfcx<Self> + Hash + Ord
type AliasConst: Clone + DebugWithInfcx<Self> + Hash + Ord
type PlaceholderConst: Clone + Debug + Hash + Ord + Placeholder
type ParamConst: Clone + Debug + Hash + Ord
type BoundConst: Clone + Debug + Hash + Ord
type ValueConst: Clone + Debug + Hash + Ord
type ExprConst: Clone + DebugWithInfcx<Self> + Hash + Ord
type Region: Clone + DebugWithInfcx<Self> + Hash + Ord
type EarlyParamRegion: Clone + Debug + Hash + Ord
type BoundRegion: Clone + Debug + Hash + Ord
type LateParamRegion: Clone + Debug + Hash + Ord
type InferRegion: Clone + DebugWithInfcx<Self> + Hash + Ord
type PlaceholderRegion: Clone + Debug + Hash + Ord + Placeholder
type Predicate: Clone + Debug + Hash + Eq
type TraitPredicate: Clone + Debug + Hash + Eq
type RegionOutlivesPredicate: Clone + Debug + Hash + Eq
type TypeOutlivesPredicate: Clone + Debug + Hash + Eq
type ProjectionPredicate: Clone + Debug + Hash + Eq
type SubtypePredicate: Clone + Debug + Hash + Eq
type CoercePredicate: Clone + Debug + Hash + Eq
type ClosureKind: Clone + Debug + Hash + Eq
Required Methods§
fn ty_and_mut_to_parts(ty_and_mut: Self::TypeAndMut) -> (Self::Ty, Mutability)
Object Safety§
This trait is not object safe.