# Trait rustc_next_trait_solver::relate::combine::Relate

source ·

    pub trait Relate<I>: TypeFoldable<I> + PartialEq + Copywhere
        I: Interner,{
        // Required method
        fn relate<R>(
            relation: &mut R,
            a: Self,
            b: Self,
        ) -> Result<Self, TypeError<I>>
           where R: TypeRelation<I>;
    }

## Required Methods§

source

#### fn relate<R>(relation: &mut R, a: Self, b: Self) -> Result<Self, TypeError<I>>
where R: TypeRelation<I>,

## Object Safety§

This trait is not object safe.

## Implementors§

source§

### impl<I> Relate<I> for BoundConstness
where I: Interner,

source§

### impl<I> Relate<I> for PredicatePolarity
where I: Interner,

source§

### impl<I> Relate<I> for AliasTerm<I>
where I: Interner,

source§

### impl<I> Relate<I> for ExistentialProjection<I>
where I: Interner,

source§

### impl<I> Relate<I> for ExistentialTraitRef<I>
where I: Interner,

source§

### impl<I> Relate<I> for TraitPredicate<I>
where I: Interner,

source§

### impl<I> Relate<I> for TraitRef<I>
where I: Interner,

source§

### impl<I> Relate<I> for AliasTy<I>
where I: Interner,

source§

### impl<I> Relate<I> for FnSig<I>
where I: Interner,

source§

### impl<I, T> Relate<I> for Binder<I, T>
where I: Interner, T: Relate<I>,