rustc_trait_selection::infer::at

Trait ToTrace

source
pub trait ToTrace<'tcx>: Relate<TyCtxt<'tcx>> + Copy {
    // Required method
    fn to_trace(
        cause: &ObligationCause<'tcx>,
        a: Self,
        b: Self,
    ) -> TypeTrace<'tcx>;
}

Required Methods§

source

fn to_trace(cause: &ObligationCause<'tcx>, a: Self, b: Self) -> TypeTrace<'tcx>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'tcx> ToTrace<'tcx> for ImplSubject<'tcx>

source§

fn to_trace( cause: &ObligationCause<'tcx>, a: ImplSubject<'tcx>, b: ImplSubject<'tcx>, ) -> TypeTrace<'tcx>

source§

impl<'tcx> ToTrace<'tcx> for Const<'tcx>

source§

fn to_trace( cause: &ObligationCause<'tcx>, a: Const<'tcx>, b: Const<'tcx>, ) -> TypeTrace<'tcx>

source§

impl<'tcx> ToTrace<'tcx> for GenericArg<'tcx>

source§

fn to_trace( cause: &ObligationCause<'tcx>, a: GenericArg<'tcx>, b: GenericArg<'tcx>, ) -> TypeTrace<'tcx>

source§

impl<'tcx> ToTrace<'tcx> for Region<'tcx>

source§

fn to_trace( cause: &ObligationCause<'tcx>, a: Region<'tcx>, b: Region<'tcx>, ) -> TypeTrace<'tcx>

source§

impl<'tcx> ToTrace<'tcx> for Term<'tcx>

source§

fn to_trace( cause: &ObligationCause<'tcx>, a: Term<'tcx>, b: Term<'tcx>, ) -> TypeTrace<'tcx>

source§

impl<'tcx> ToTrace<'tcx> for Ty<'tcx>

source§

fn to_trace( cause: &ObligationCause<'tcx>, a: Ty<'tcx>, b: Ty<'tcx>, ) -> TypeTrace<'tcx>

Implementors§

source§

impl<'tcx> ToTrace<'tcx> for AliasTerm<TyCtxt<'tcx>>

source§

impl<'tcx> ToTrace<'tcx> for AliasTy<TyCtxt<'tcx>>

source§

impl<'tcx> ToTrace<'tcx> for Binder<TyCtxt<'tcx>, ExistentialProjection<TyCtxt<'tcx>>>

source§

impl<'tcx> ToTrace<'tcx> for Binder<TyCtxt<'tcx>, ExistentialTraitRef<TyCtxt<'tcx>>>

source§

impl<'tcx> ToTrace<'tcx> for Binder<TyCtxt<'tcx>, FnSig<TyCtxt<'tcx>>>

source§

impl<'tcx> ToTrace<'tcx> for FnSig<TyCtxt<'tcx>>

source§

impl<'tcx> ToTrace<'tcx> for TraitRef<TyCtxt<'tcx>>