# Trait rustc_middle::ty::relate::Relate

source ·

    pub trait Relate<'tcx>: TypeFoldable<TyCtxt<'tcx>> + PartialEq + Copy {
        // Required method
        fn relate<R: TypeRelation<'tcx>>(
            relation: &mut R,
            a: Self,
            b: Self
        ) -> RelateResult<'tcx, Self>;
    }

## Required Methods§

source

#### fn relate<R: TypeRelation<'tcx>>( relation: &mut R, a: Self, b: Self ) -> RelateResult<'tcx, Self>

## Object Safety§

This trait is not object safe.

## Implementations on Foreign Types§

source§

### impl<'tcx> Relate<'tcx> for Unsafety

source§

#### fn relate<R: TypeRelation<'tcx>>( _relation: &mut R, a: Unsafety, b: Unsafety ) -> RelateResult<'tcx, Unsafety>

source§

### impl<'tcx> Relate<'tcx> for Abi

source§

#### fn relate<R: TypeRelation<'tcx>>( _relation: &mut R, a: Abi, b: Abi ) -> RelateResult<'tcx, Abi>

## Implementors§

source§

### impl<'tcx> Relate<'tcx> for &'tcx List<PolyExistentialPredicate<'tcx>>

source§

### impl<'tcx> Relate<'tcx> for BoundConstness

source§

### impl<'tcx> Relate<'tcx> for ImplSubject<'tcx>

source§

### impl<'tcx> Relate<'tcx> for PredicatePolarity

source§

### impl<'tcx> Relate<'tcx> for Const<'tcx>

source§

### impl<'tcx> Relate<'tcx> for GenericArg<'tcx>

source§

### impl<'tcx> Relate<'tcx> for Pattern<'tcx>

source§

### impl<'tcx> Relate<'tcx> for ExistentialProjection<'tcx>

source§

### impl<'tcx> Relate<'tcx> for ExistentialTraitRef<'tcx>

source§

### impl<'tcx> Relate<'tcx> for TraitPredicate<'tcx>

source§

### impl<'tcx> Relate<'tcx> for TraitRef<'tcx>

source§

### impl<'tcx> Relate<'tcx> for Region<'tcx>

source§

### impl<'tcx> Relate<'tcx> for Term<'tcx>

source§

### impl<'tcx> Relate<'tcx> for Ty<'tcx>

source§

### impl<'tcx> Relate<'tcx> for AliasTy<'tcx>

source§

### impl<'tcx> Relate<'tcx> for ClosureArgs<'tcx>

source§

### impl<'tcx> Relate<'tcx> for CoroutineArgs<'tcx>

source§

### impl<'tcx> Relate<'tcx> for FnSig<'tcx>

source§

### impl<'tcx> Relate<'tcx> for CoroutineWitness<'tcx>

source§

### impl<'tcx> Relate<'tcx> for GenericArgsRef<'tcx>

source§

### impl<'tcx, T: Relate<'tcx>> Relate<'tcx> for Binder<'tcx, T>