Skip to main content

## ToTrace

# Trait ToTrace

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

## Required Methods§

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

## 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.

## Implementations on Foreign Types§

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

## Implementors§

§

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

§

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

§

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

§

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

§

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

§

### impl<'tcx> ToTrace<'tcx> for ExistentialProjection<TyCtxt<'tcx>>

§

### impl<'tcx> ToTrace<'tcx> for ExistentialTraitRef<TyCtxt<'tcx>>

§

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

§

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