Module chalk_engine::context [] [src]

Traits

AggregateOps

Methods for combining solutions to yield an aggregate solution.

CanonicalConstrainedSubst
Context

The "context" in which the SLG solver operates.

ContextOps
DomainGoal
Environment
Goal
GoalInEnvironment
InferenceContext

The set of types belonging to an "inference context"; in rustc, these types are tied to the lifetime of the arena within which an inference context operates.

InferenceTable

An "inference table" contains the state to support unification and other operations on terms.

ResolventOps
TruncateOps

"Truncation" (called "abstraction" in the papers referenced below) refers to the act of modifying a goal or answer that has become too large in order to guarantee termination. The SLG solver doesn't care about the precise truncation function, so long as it's deterministic and so forth.

UCanonicalGoalInEnvironment
UnificationOps

Methods for unifying and manipulating terms and binders.

UnificationResult

Embodies the result of a unification operation: we presume that unification may produce new residual subgoals, which must be further proven, as well as region constraints.

UniverseMap
WithInstantiatedExClause

Callback trait for instantiate_ex_clause. Unlike the other traits in this file, this is not implemented by the context crate, but rather by code in this crate.

WithInstantiatedUCanonicalGoal

Callback trait for instantiate_ucanonical_goal. Unlike the other traits in this file, this is not implemented by the context crate, but rather by code in this crate.