diff options
Diffstat (limited to 'crates/ra_hir/src/ty/autoderef.rs')
-rw-r--r-- | crates/ra_hir/src/ty/autoderef.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crates/ra_hir/src/ty/autoderef.rs b/crates/ra_hir/src/ty/autoderef.rs index 214aa7d03..c26513871 100644 --- a/crates/ra_hir/src/ty/autoderef.rs +++ b/crates/ra_hir/src/ty/autoderef.rs | |||
@@ -62,11 +62,13 @@ fn deref_by_trait( | |||
62 | }, | 62 | }, |
63 | }; | 63 | }; |
64 | 64 | ||
65 | let in_env = super::traits::InEnvironment { value: projection, environment: env }; | 65 | let obligation = super::Obligation::Projection(projection); |
66 | |||
67 | let in_env = super::traits::InEnvironment { value: obligation, environment: env }; | ||
66 | 68 | ||
67 | let canonical = super::Canonical { num_vars: 1 + ty.num_vars, value: in_env }; | 69 | let canonical = super::Canonical { num_vars: 1 + ty.num_vars, value: in_env }; |
68 | 70 | ||
69 | let solution = db.normalize(krate, canonical)?; | 71 | let solution = db.solve(krate, canonical)?; |
70 | 72 | ||
71 | match &solution { | 73 | match &solution { |
72 | Solution::Unique(vars) => { | 74 | Solution::Unique(vars) => { |