diff options
Diffstat (limited to 'crates/hir_ty/src/infer/expr.rs')
-rw-r--r-- | crates/hir_ty/src/infer/expr.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs index f439169ea..6eaccd9b4 100644 --- a/crates/hir_ty/src/infer/expr.rs +++ b/crates/hir_ty/src/infer/expr.rs | |||
@@ -99,9 +99,9 @@ impl<'a> InferenceContext<'a> { | |||
99 | environment: trait_env, | 99 | environment: trait_env, |
100 | }; | 100 | }; |
101 | let canonical = self.canonicalize(obligation.clone()); | 101 | let canonical = self.canonicalize(obligation.clone()); |
102 | if self.db.trait_solve(krate, canonical.value).is_some() { | 102 | if self.db.trait_solve(krate, canonical.value.cast(&Interner)).is_some() { |
103 | self.push_obligation(obligation.goal); | 103 | self.push_obligation(obligation.goal); |
104 | let return_ty = self.normalize_projection_ty(projection); | 104 | let return_ty = self.table.normalize_projection_ty(projection); |
105 | Some((arg_tys, return_ty)) | 105 | Some((arg_tys, return_ty)) |
106 | } else { | 106 | } else { |
107 | None | 107 | None |
@@ -306,7 +306,7 @@ impl<'a> InferenceContext<'a> { | |||
306 | self.resolver.krate(), | 306 | self.resolver.krate(), |
307 | InEnvironment { | 307 | InEnvironment { |
308 | goal: canonicalized.value.clone(), | 308 | goal: canonicalized.value.clone(), |
309 | environment: self.trait_env.env.clone(), | 309 | environment: self.table.trait_env.env.clone(), |
310 | }, | 310 | }, |
311 | ); | 311 | ); |
312 | let (param_tys, ret_ty): (Vec<Ty>, Ty) = derefs | 312 | let (param_tys, ret_ty): (Vec<Ty>, Ty) = derefs |