Struct rustc_trans::middle::traits::ObligationUnstable
[-] [+]
[src]
pub struct Obligation<'tcx, T> { pub cause: ObligationCause<'tcx>, pub recursion_depth: usize, pub predicate: T, }
An Obligation
represents some trait reference (e.g. int:Eq
) for
which the vtable must be found. The process of finding a vtable is
called "resolving" the Obligation
. This process consists of
either identifying an impl
(e.g., impl Eq for int
) that
provides the required vtable, or else finding a bound that is in
scope. The eventual result is usually a Selection
(defined below).
Fields
cause | |
recursion_depth | |
predicate |