aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/infer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir_ty/src/infer.rs')
-rw-r--r--crates/hir_ty/src/infer.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/hir_ty/src/infer.rs b/crates/hir_ty/src/infer.rs
index f3cccca68..7898740be 100644
--- a/crates/hir_ty/src/infer.rs
+++ b/crates/hir_ty/src/infer.rs
@@ -284,6 +284,9 @@ impl<'a> InferenceContext<'a> {
284 284
285 fn resolve_all(mut self) -> InferenceResult { 285 fn resolve_all(mut self) -> InferenceResult {
286 // FIXME resolve obligations as well (use Guidance if necessary) 286 // FIXME resolve obligations as well (use Guidance if necessary)
287
288 // make sure diverging type variables are marked as such
289 self.table.propagate_diverging_flag();
287 let mut result = std::mem::take(&mut self.result); 290 let mut result = std::mem::take(&mut self.result);
288 for ty in result.type_of_expr.values_mut() { 291 for ty in result.type_of_expr.values_mut() {
289 let resolved = self.table.resolve_ty_completely(ty.clone()); 292 let resolved = self.table.resolve_ty_completely(ty.clone());