diff options
author | Florian Diebold <[email protected]> | 2019-07-08 20:43:52 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2019-07-08 20:47:37 +0100 |
commit | 9afbf2dff43dee3227358f10162d4c77d192ce7a (patch) | |
tree | 82d38315b9be21dec920f59389ea89cdb3ae0a41 /crates/ra_hir/src/ty/autoderef.rs | |
parent | 15862fc04183c7f9b3f3af666336a594a6a52cd9 (diff) |
Unify `normalize` and `implements` to simplify code
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) => { |