instantiate_and_apply_query_response

Function instantiate_and_apply_query_response 

Source
pub(crate) fn instantiate_and_apply_query_response<D, I>(
    delegate: &D,
    param_env: I::ParamEnv,
    original_values: &[I::GenericArg],
    response: CanonicalResponse<I>,
    span: I::Span,
) -> (NestedNormalizationGoals<I>, Certainty)
where D: SolverDelegate<Interner = I>, I: Interner,
Expand description

After calling a canonical query, we apply the constraints returned by the query using this function.

This happens in three steps:

  • we instantiate the bound variables of the query response
  • we unify the var_values of the response with the original_values
  • we apply the external_constraints returned by the query, returning the normalization_nested_goals