Type Definition rustc::traits::TraitObligation
[−]
[src]
type TraitObligation<'tcx> = Obligation<'tcx, PolyTraitPredicate<'tcx>>;
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'tcx> TraitObligation<'tcx>
[src]
pub fn derived_cause(
&self,
variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
) -> ObligationCause<'tcx>
[src]
&self,
variant: fn(_: DerivedObligationCause<'tcx>) -> ObligationCauseCode<'tcx>
) -> ObligationCause<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Creates a cause for obligations that are derived from
obligation
by a recursive search (e.g., for a builtin
bound, or eventually a impl Foo for ..
). 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.