Skip to main content

Module select

Module select 

Source

Structs§

ImplSourceUserDefinedData 🔒
Identifies a particular impl in the source, along with a set of generic parameters from the impl’s type/lifetime parameters. The nested vector corresponds to the nested obligations attached to the impl’s type parameters.
Select 🔒
SignatureMismatchData

Enums§

EvaluationResult
The result of trait evaluation. The order is important here as the evaluation of a list is the maximum of the evaluations.
ImplSource 🔒
Given the successful resolution of an obligation, the ImplSource indicates where the impl comes from.
NotConstEvaluatable
OverflowError
Indicates that trait evaluation caused overflow and in which pass.
SelectionError

Functions§

candidate_should_be_dropped_in_favor_of 🔒
This is a lot more limited than the old solver’s equivalent method. This may lead to more Ok(None) results when selecting traits in polymorphic contexts, but we should never rely on the lack of ambiguity, and should always just gracefully fail here. We shouldn’t rely on this incompleteness.
to_selection 🔒

Type Aliases§

Selection 🔒
SelectionResult 🔒
When performing resolution, it is typically the case that there can be one of three outcomes: