# Trait rustc_trait_selection::infer::at::ToTrace

source ·

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

## Required Methods§

source

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, 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_is_expected: bool, a: ImplSubject<'tcx>, b: ImplSubject<'tcx> ) -> TypeTrace<'tcx>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: TraitRef<'tcx>, b: TraitRef<'tcx> ) -> TypeTrace<'tcx>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: AliasTy<'tcx>, b: AliasTy<'tcx> ) -> TypeTrace<'tcx>

source§

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

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: Binder<'tcx, ExistentialProjection<'tcx>>, b: Binder<'tcx, ExistentialProjection<'tcx>> ) -> TypeTrace<'tcx>

source§

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

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: Binder<'tcx, ExistentialTraitRef<'tcx>>, b: Binder<'tcx, ExistentialTraitRef<'tcx>> ) -> TypeTrace<'tcx>

source§

### impl<'tcx> ToTrace<'tcx> for Binder<'tcx, TraitRef<'tcx>>

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: Binder<'tcx, TraitRef<'tcx>>, b: Binder<'tcx, TraitRef<'tcx>> ) -> TypeTrace<'tcx>

source§

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

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: Binder<'tcx, FnSig<'tcx>>, b: Binder<'tcx, FnSig<'tcx>> ) -> TypeTrace<'tcx>

source§

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

source§

#### fn to_trace( cause: &ObligationCause<'tcx>, a_is_expected: bool, a: FnSig<'tcx>, b: FnSig<'tcx> ) -> TypeTrace<'tcx>

## Implementors§