rustc_middle::ty::relate::solver_relating

Trait RelateExt

source
pub trait RelateExt: InferCtxtLike {
    // Required methods
    fn relate<T>(
        &self,
        param_env: <Self::Interner as Interner>::ParamEnv,
        lhs: T,
        variance: Variance,
        rhs: T,
    ) -> Result<Vec<Goal<Self::Interner, <Self::Interner as Interner>::Predicate>>, TypeError<Self::Interner>>
       where T: Relate<Self::Interner>;
    fn eq_structurally_relating_aliases<T>(
        &self,
        param_env: <Self::Interner as Interner>::ParamEnv,
        lhs: T,
        rhs: T,
    ) -> Result<Vec<Goal<Self::Interner, <Self::Interner as Interner>::Predicate>>, TypeError<Self::Interner>>
       where T: Relate<Self::Interner>;
}

Required Methods§

source

fn relate<T>( &self, param_env: <Self::Interner as Interner>::ParamEnv, lhs: T, variance: Variance, rhs: T, ) -> Result<Vec<Goal<Self::Interner, <Self::Interner as Interner>::Predicate>>, TypeError<Self::Interner>>
where T: Relate<Self::Interner>,

source

fn eq_structurally_relating_aliases<T>( &self, param_env: <Self::Interner as Interner>::ParamEnv, lhs: T, rhs: T, ) -> Result<Vec<Goal<Self::Interner, <Self::Interner as Interner>::Predicate>>, TypeError<Self::Interner>>
where T: Relate<Self::Interner>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

source§

impl<Infcx> RelateExt for Infcx
where Infcx: InferCtxtLike,