diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-04-06 22:49:10 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-04-06 22:49:10 +0100 |
commit | fcb22a674df4728742a865dda76ce65f0f9205b1 (patch) | |
tree | 9131d26bacbda364c81ad0ace9d4428b0d8e3c33 /crates/hir_ty/src/infer | |
parent | 31d2b3b9cb75a09c93655b38377ed5f4144ebaf0 (diff) | |
parent | b03969cda92661ad67897fee0ba16c1cc61830ea (diff) |
Merge #8387
8387: Remove `SolutionVariables`, add ConstrainedSubst analogous to Chalk r=flodiebold a=flodiebold
... just missing the constraints.
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/infer')
-rw-r--r-- | crates/hir_ty/src/infer/coerce.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/hir_ty/src/infer/coerce.rs b/crates/hir_ty/src/infer/coerce.rs index 159a53a63..f1af2a0bd 100644 --- a/crates/hir_ty/src/infer/coerce.rs +++ b/crates/hir_ty/src/infer/coerce.rs | |||
@@ -7,7 +7,7 @@ | |||
7 | use chalk_ir::{cast::Cast, Mutability, TyVariableKind}; | 7 | use chalk_ir::{cast::Cast, Mutability, TyVariableKind}; |
8 | use hir_def::lang_item::LangItemTarget; | 8 | use hir_def::lang_item::LangItemTarget; |
9 | 9 | ||
10 | use crate::{autoderef, Interner, Solution, Ty, TyBuilder, TyExt, TyKind}; | 10 | use crate::{autoderef, Canonical, Interner, Solution, Ty, TyBuilder, TyExt, TyKind}; |
11 | 11 | ||
12 | use super::{InEnvironment, InferenceContext}; | 12 | use super::{InEnvironment, InferenceContext}; |
13 | 13 | ||
@@ -148,7 +148,14 @@ impl<'a> InferenceContext<'a> { | |||
148 | 148 | ||
149 | match solution { | 149 | match solution { |
150 | Solution::Unique(v) => { | 150 | Solution::Unique(v) => { |
151 | canonicalized.apply_solution(self, v.0); | 151 | canonicalized.apply_solution( |
152 | self, | ||
153 | Canonical { | ||
154 | binders: v.binders, | ||
155 | // FIXME handle constraints | ||
156 | value: v.value.subst, | ||
157 | }, | ||
158 | ); | ||
152 | } | 159 | } |
153 | _ => return None, | 160 | _ => return None, |
154 | }; | 161 | }; |