Expand description
Trait Resolution. See the rustc-dev-guide for more information on how this works.
Structs§
- Obligation
- An
Obligationrepresents some trait reference (e.g.,i32: Eq) for which the “impl_source” must be found. The process of finding an “impl_source” is called “resolving” theObligation. This process consists of either identifying animpl(e.g.,impl Eq for i32) that satisfies the obligation, or else finding a bound that is in scope. The eventual result is usually aSelection(defined below). - Obligation
Cause - The reason why we incurred this obligation; used for error reporting.
Functions§
- pred_
known_ 🔒to_ hold_ modulo_ regions - FIXME(@lcnr): this function doesn’t seem right and shouldn’t exist?
- type_
known_ 🔒to_ meet_ bound_ modulo_ regions - Determines whether the type
tyis known to meetboundand returns true if so. Returns false iftyeither does not meetboundor is not known to meet bound (note that this is conservative towards no impl, which is the opposite of theevaluatemethods).
Type Aliases§
- Obligation
Inspector - A callback that can be provided to
inspect_typeck. Invoked on evaluation of root obligations. - Predicate
Obligation 🔒 - Predicate
Obligations 🔒 - Trait
Obligation 🔒