aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/autoderef.rs
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2019-07-08 20:43:52 +0100
committerFlorian Diebold <[email protected]>2019-07-08 20:47:37 +0100
commit9afbf2dff43dee3227358f10162d4c77d192ce7a (patch)
tree82d38315b9be21dec920f59389ea89cdb3ae0a41 /crates/ra_hir/src/ty/autoderef.rs
parent15862fc04183c7f9b3f3af666336a594a6a52cd9 (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.rs6
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) => {