Type Definition rustc_trait_selection::traits::TraitObligation [−][src]
pub type TraitObligation<'tcx> = Obligation<'tcx, Binder<'tcx, TraitPredicate<'tcx>>>;
Trait Implementations
fn derived_cause(
&self,
variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
) -> ObligationCause<'tcx>
fn derived_cause(
&self,
variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
) -> ObligationCause<'tcx>
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.