Rollup merge of #106834 - compiler-errors:new-solver-did-changed, r=lcnr

new trait solver: only consider goal changed if response is not identity

I think this is the right way of implementing it..

r? `@lcnr`
This commit is contained in:
Matthias Krüger 2023-01-17 20:21:26 +01:00 committed by GitHub
commit fc9e2c1081
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View file

@ -178,7 +178,7 @@ impl<'tcx> EvalCtxt<'tcx> {
let canonical_goal = infcx.canonicalize_query(goal, &mut orig_values);
let canonical_response = self.evaluate_canonical_goal(canonical_goal)?;
Ok((
true, // FIXME: check whether `var_values` are an identity substitution.
!canonical_response.value.var_values.is_identity(),
instantiate_canonical_query_response(infcx, &orig_values, canonical_response),
))
}