[−][src]Trait rustc_middle::ty::relate::Relate
Required methods
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>[src]
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>
Implementations on Foreign Types
impl<'tcx> Relate<'tcx> for Unsafety[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Unsafety,
b: Unsafety
) -> RelateResult<'tcx, Unsafety>[src]
relation: &mut R,
a: Unsafety,
b: Unsafety
) -> RelateResult<'tcx, Unsafety>
impl<'tcx> Relate<'tcx> for Abi[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Abi,
b: Abi
) -> RelateResult<'tcx, Abi>[src]
relation: &mut R,
a: Abi,
b: Abi
) -> RelateResult<'tcx, Abi>
Implementors
impl<'tcx> Relate<'tcx> for &'tcx Const<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: &'tcx Const<'tcx>,
b: &'tcx Const<'tcx>
) -> RelateResult<'tcx, &'tcx Const<'tcx>>[src]
relation: &mut R,
a: &'tcx Const<'tcx>,
b: &'tcx Const<'tcx>
) -> RelateResult<'tcx, &'tcx Const<'tcx>>
impl<'tcx> Relate<'tcx> for &'tcx List<ExistentialPredicate<'tcx>>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>[src]
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>
impl<'tcx> Relate<'tcx> for GeneratorWitness<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: GeneratorWitness<'tcx>,
b: GeneratorWitness<'tcx>
) -> RelateResult<'tcx, GeneratorWitness<'tcx>>[src]
relation: &mut R,
a: GeneratorWitness<'tcx>,
b: GeneratorWitness<'tcx>
) -> RelateResult<'tcx, GeneratorWitness<'tcx>>
impl<'tcx> Relate<'tcx> for ClosureSubsts<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ClosureSubsts<'tcx>,
b: ClosureSubsts<'tcx>
) -> RelateResult<'tcx, ClosureSubsts<'tcx>>[src]
relation: &mut R,
a: ClosureSubsts<'tcx>,
b: ClosureSubsts<'tcx>
) -> RelateResult<'tcx, ClosureSubsts<'tcx>>
impl<'tcx> Relate<'tcx> for ExistentialProjection<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ExistentialProjection<'tcx>,
b: ExistentialProjection<'tcx>
) -> RelateResult<'tcx, ExistentialProjection<'tcx>>[src]
relation: &mut R,
a: ExistentialProjection<'tcx>,
b: ExistentialProjection<'tcx>
) -> RelateResult<'tcx, ExistentialProjection<'tcx>>
impl<'tcx> Relate<'tcx> for ExistentialTraitRef<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ExistentialTraitRef<'tcx>,
b: ExistentialTraitRef<'tcx>
) -> RelateResult<'tcx, ExistentialTraitRef<'tcx>>[src]
relation: &mut R,
a: ExistentialTraitRef<'tcx>,
b: ExistentialTraitRef<'tcx>
) -> RelateResult<'tcx, ExistentialTraitRef<'tcx>>
impl<'tcx> Relate<'tcx> for FnSig<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: FnSig<'tcx>,
b: FnSig<'tcx>
) -> RelateResult<'tcx, FnSig<'tcx>>[src]
relation: &mut R,
a: FnSig<'tcx>,
b: FnSig<'tcx>
) -> RelateResult<'tcx, FnSig<'tcx>>
impl<'tcx> Relate<'tcx> for GeneratorSubsts<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: GeneratorSubsts<'tcx>,
b: GeneratorSubsts<'tcx>
) -> RelateResult<'tcx, GeneratorSubsts<'tcx>>[src]
relation: &mut R,
a: GeneratorSubsts<'tcx>,
b: GeneratorSubsts<'tcx>
) -> RelateResult<'tcx, GeneratorSubsts<'tcx>>
impl<'tcx> Relate<'tcx> for ProjectionPredicate<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ProjectionPredicate<'tcx>,
b: ProjectionPredicate<'tcx>
) -> RelateResult<'tcx, ProjectionPredicate<'tcx>>[src]
relation: &mut R,
a: ProjectionPredicate<'tcx>,
b: ProjectionPredicate<'tcx>
) -> RelateResult<'tcx, ProjectionPredicate<'tcx>>
impl<'tcx> Relate<'tcx> for ProjectionTy<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ProjectionTy<'tcx>,
b: ProjectionTy<'tcx>
) -> RelateResult<'tcx, ProjectionTy<'tcx>>[src]
relation: &mut R,
a: ProjectionTy<'tcx>,
b: ProjectionTy<'tcx>
) -> RelateResult<'tcx, ProjectionTy<'tcx>>
impl<'tcx> Relate<'tcx> for TraitPredicate<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: TraitPredicate<'tcx>,
b: TraitPredicate<'tcx>
) -> RelateResult<'tcx, TraitPredicate<'tcx>>[src]
relation: &mut R,
a: TraitPredicate<'tcx>,
b: TraitPredicate<'tcx>
) -> RelateResult<'tcx, TraitPredicate<'tcx>>
impl<'tcx> Relate<'tcx> for TraitRef<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: TraitRef<'tcx>,
b: TraitRef<'tcx>
) -> RelateResult<'tcx, TraitRef<'tcx>>[src]
relation: &mut R,
a: TraitRef<'tcx>,
b: TraitRef<'tcx>
) -> RelateResult<'tcx, TraitRef<'tcx>>
impl<'tcx> Relate<'tcx> for TypeAndMut<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: TypeAndMut<'tcx>,
b: TypeAndMut<'tcx>
) -> RelateResult<'tcx, TypeAndMut<'tcx>>[src]
relation: &mut R,
a: TypeAndMut<'tcx>,
b: TypeAndMut<'tcx>
) -> RelateResult<'tcx, TypeAndMut<'tcx>>
impl<'tcx> Relate<'tcx> for GenericArg<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: GenericArg<'tcx>,
b: GenericArg<'tcx>
) -> RelateResult<'tcx, GenericArg<'tcx>>[src]
relation: &mut R,
a: GenericArg<'tcx>,
b: GenericArg<'tcx>
) -> RelateResult<'tcx, GenericArg<'tcx>>
impl<'tcx> Relate<'tcx> for Region<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Region<'tcx>,
b: Region<'tcx>
) -> RelateResult<'tcx, Region<'tcx>>[src]
relation: &mut R,
a: Region<'tcx>,
b: Region<'tcx>
) -> RelateResult<'tcx, Region<'tcx>>
impl<'tcx> Relate<'tcx> for SubstsRef<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: SubstsRef<'tcx>,
b: SubstsRef<'tcx>
) -> RelateResult<'tcx, SubstsRef<'tcx>>[src]
relation: &mut R,
a: SubstsRef<'tcx>,
b: SubstsRef<'tcx>
) -> RelateResult<'tcx, SubstsRef<'tcx>>
impl<'tcx> Relate<'tcx> for Ty<'tcx>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> RelateResult<'tcx, Ty<'tcx>>[src]
relation: &mut R,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> RelateResult<'tcx, Ty<'tcx>>
impl<'tcx, T: Relate<'tcx>> Relate<'tcx> for Binder<T>[src]
pub fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Binder<T>,
b: Binder<T>
) -> RelateResult<'tcx, Binder<T>>[src]
relation: &mut R,
a: Binder<T>,
b: Binder<T>
) -> RelateResult<'tcx, Binder<T>>