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]

[src]

🔬 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.