add comment

This commit is contained in:
lcnr 2024-09-20 14:49:03 +00:00
parent 5a219cba95
commit 9613f487ae

View File

@ -157,6 +157,10 @@ pub(in crate::solve) fn evaluate_added_goals_and_make_canonical_response(
},
);
// HACK: We bail with overflow if the response would have too many non-region
// inference variables. This tends to only happen if we encounter a lot of
// ambiguous alias types which get replaced with fresh inference variables
// during generalization. This prevents a hang in nalgebra.
let num_non_region_vars = canonical.variables.iter().filter(|c| !c.is_region()).count();
if num_non_region_vars > self.cx().recursion_limit() {
return Ok(self.make_ambiguous_response_no_constraints(MaybeCause::Overflow {