Trait rustc_middle::ty::relate::Relate [−][src]
pub trait Relate<'tcx>: TypeFoldable<'tcx> + Copy { fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>; }
Required methods
fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>[src]Implementations on Foreign Types
fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Unsafety,
b: Unsafety
) -> RelateResult<'tcx, Unsafety>[src]Implementors
fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: &'tcx Const<'tcx>,
b: &'tcx Const<'tcx>
) -> RelateResult<'tcx, &'tcx Const<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ProjectionPredicate<'tcx>,
b: ProjectionPredicate<'tcx>
) -> RelateResult<'tcx, ProjectionPredicate<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: TraitPredicate<'tcx>,
b: TraitPredicate<'tcx>
) -> RelateResult<'tcx, TraitPredicate<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ClosureSubsts<'tcx>,
b: ClosureSubsts<'tcx>
) -> RelateResult<'tcx, ClosureSubsts<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ExistentialProjection<'tcx>,
b: ExistentialProjection<'tcx>
) -> RelateResult<'tcx, ExistentialProjection<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ExistentialTraitRef<'tcx>,
b: ExistentialTraitRef<'tcx>
) -> RelateResult<'tcx, ExistentialTraitRef<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: FnSig<'tcx>,
b: FnSig<'tcx>
) -> RelateResult<'tcx, FnSig<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: GeneratorSubsts<'tcx>,
b: GeneratorSubsts<'tcx>
) -> RelateResult<'tcx, GeneratorSubsts<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: ProjectionTy<'tcx>,
b: ProjectionTy<'tcx>
) -> RelateResult<'tcx, ProjectionTy<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: TraitRef<'tcx>,
b: TraitRef<'tcx>
) -> RelateResult<'tcx, TraitRef<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: GenericArg<'tcx>,
b: GenericArg<'tcx>
) -> RelateResult<'tcx, GenericArg<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: GeneratorWitness<'tcx>,
b: GeneratorWitness<'tcx>
) -> RelateResult<'tcx, GeneratorWitness<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Region<'tcx>,
b: Region<'tcx>
) -> RelateResult<'tcx, Region<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: SubstsRef<'tcx>,
b: SubstsRef<'tcx>
) -> RelateResult<'tcx, SubstsRef<'tcx>>[src]fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> RelateResult<'tcx, Ty<'tcx>>[src]