Module solve

Module solve 

Source

Modules§

delegate 🔒
fulfill 🔒
inspect
normalize 🔒
select 🔒

Structs§

EvalCtxt
ExternalConstraintsData
Additional constraints returned on success.
FulfillmentCtxt
A trait engine using the new trait solver.
Goal
A goal is a statement, i.e. predicate, we want to prove given some assumptions, i.e. param_env.
GoalEvaluation
The result of evaluating a goal.
GoalStalledOn
The conditions that must change for a goal to warrant
NestedNormalizationGoals
NoSolution
QueryInput
Response
StalledOnCoroutines
Detect if a goal is stalled on a coroutine that is owned by the current typeck root.

Enums§

AdtDestructorKind
Indicates that a impl Drop for Adt is const or not.
AliasBoundKind
BuiltinImplSource
CandidatePreferenceMode
Which trait candidates should be preferred over other candidates? By default, prefer where bounds over alias bounds. For marker traits, prefer alias bounds over where bounds.
CandidateSource
Possible ways the given goal can be proven.
Certainty
GenerateProofTree
GoalSource
Why a specific goal has to be proven.
HasChanged
Whether evaluating this goal ended up changing the inference state.
MaybeCause
Why we failed to evaluate a goal.
NextSolverError
OpaqueTypesJank
Supporting not-yet-defined opaque types in HIR typeck is somewhat challenging. Ideally we’d normalize them to a new inference variable and just defer type inference which relies on the opaque until we’ve constrained the hidden type.
ParamEnvSource
SizedTraitKind
Which sizedness trait - Sized, MetaSized? PointeeSized is omitted as it is removed during lowering.

Traits§

InferCtxtSelectExt
SolverDelegateEvalExt

Functions§

deeply_normalize
Deeply normalize all aliases in value. This does not handle inference and expects its input to be already fully resolved.
deeply_normalize_with_skipped_universes
Deeply normalize all aliases in value. This does not handle inference and expects its input to be already fully resolved.
deeply_normalize_with_skipped_universes_and_ambiguous_coroutine_goals
Deeply normalize all aliases in value. This does not handle inference and expects its input to be already fully resolved.
evaluate_root_goal_for_proof_tree_raw 🔒
evaluate_root_goal_for_proof_tree_raw_provider
Do not call this directly, use the tcx query instead.
provide

Type Aliases§

CanonicalInput
CanonicalResponse
QueryResult
The result of evaluating a canonical query.