[−][src]Trait rustc_trait_selection::traits::select::TraitObligationExt

pub(in traits::select) trait TraitObligationExt<'tcx> {
    pub(in traits::select) fn derived_cause(
        &self,
        variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
    ) -> ObligationCause<'tcx>; }

Required methods

pub(in traits::select) fn derived_cause(
    &self,
    variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
) -> ObligationCause<'tcx>
[src]

Loading content...

Implementors

impl<'tcx> TraitObligationExt<'tcx> for TraitObligation<'tcx>[src]

pub(in traits::select) fn derived_cause(
    &self,
    variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
) -> ObligationCause<'tcx>
[src]

Creates a cause for obligations that are derived from obligation by a recursive search (e.g., for a builtin bound, or eventually a auto trait Foo). If obligation is itself a derived obligation, this is just a clone, but otherwise we create a "derived obligation" cause so as to keep track of the original root obligation for error reporting.

Loading content...