# 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).