rustc_infer::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>

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§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'tcx> ToTrace<'tcx> for PolyExistentialProjection<'tcx>

Source§

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

Source§

impl<'tcx> ToTrace<'tcx> for PolyExistentialTraitRef<'tcx>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'tcx> ToTrace<'tcx> for PolyFnSig<'tcx>

Source§

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

Implementors§