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

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

Required methods

Implementors

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.