Function chalk_engine::slg::aggregate::merge_into_guidance
source ยท fn merge_into_guidance<I: Interner>(
interner: I,
root_goal: &Canonical<InEnvironment<Goal<I>>>,
guidance: Canonical<Substitution<I>>,
answer: &Canonical<ConstrainedSubst<I>>,
) -> Canonical<Substitution<I>>
Expand description
Given a current substitution used as guidance for root_goal
, and
a new possible answer to root_goal
, returns a new set of
guidance that encompasses both of them. This is often more general
than the old guidance. For example, if we had a guidance of ?0 = u32
and the new answer is ?0 = i32
, then the guidance would
become ?0 = ?X
(where ?X
is some fresh variable).