Module select

Source
Expand description

Candidate selection. See the rustc dev guide for more information on how this works.

Modulesยง

_match ๐Ÿ”’
candidate_assembly ๐Ÿ”’
Candidate assembly.
confirmation ๐Ÿ”’
Confirmation.

Structsยง

EvaluatedCandidate ๐Ÿ”’
ProvisionalEvaluation ๐Ÿ”’
A cache value for the provisional cache: contains the depth-first number (DFN) and result.
ProvisionalEvaluationCache ๐Ÿ”’
The โ€œprovisional evaluation cacheโ€ is used to store intermediate cache results when solving auto traits. Auto traits are unusual in that they can support cycles. So, for example, a โ€œproof treeโ€ like this would be ok:
SelectionCandidateSet ๐Ÿ”’
SelectionContext
TraitObligationStack ๐Ÿ”’
TraitObligationStackList ๐Ÿ”’

Enumsยง

BuiltinImplConditions ๐Ÿ”’
When does the builtin impl for T: Trait apply?
EvaluationResult
The result of trait evaluation. The order is important here as the evaluation of a list is the maximum of the evaluations.
IntercrateAmbiguityCause
OverflowError
Indicates that trait evaluation caused overflow and in which pass.
ProjectionMatchesProjection ๐Ÿ”’
SelectionCandidate
The selection process begins by considering all impls, where clauses, and so forth that might resolve an obligation. Sometimes weโ€™ll be able to say definitively that (e.g.) an impl does not apply to the obligation: perhaps it is defined for usize but the obligation is for i32. In that case, we drop the impl out of the list. But the other cases are considered candidates.

Functionsยง

rebind_coroutine_witness_types ๐Ÿ”’

Type Aliasesยง

EvaluationCache
SelectionCache