Type Alias hir_ty::Solution

source ·
pub type Solution = Solution<Interner>;

Aliased Type§

enum Solution {
    Unique(Canonical<ConstrainedSubst<Interner>>),
    Ambig(Guidance<Interner>),
}

Variants§

§

Unique(Canonical<ConstrainedSubst<Interner>>)

The goal indeed holds, and there is a unique value for all existential variables. In this case, we also record a set of lifetime constraints which must also hold for the goal to be valid.

§

Ambig(Guidance<Interner>)

The goal may be provable in multiple ways, but regardless we may have some guidance for type inference. In this case, we don’t return any lifetime constraints, since we have not “committed” to any particular solution yet.