diff options
author | Florian Diebold <[email protected]> | 2019-09-22 19:08:46 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2019-09-22 19:08:46 +0100 |
commit | bc905d202c613a831f7c1abb846b612900a9b43a (patch) | |
tree | fd68ea6a13f9f41d271782df247c5803674b1d3a /crates/ra_hir | |
parent | 18bf278c258f44ed68f67f84993f20f7c27c63d0 (diff) |
Handle projection types from Chalk
Diffstat (limited to 'crates/ra_hir')
-rw-r--r-- | crates/ra_hir/src/ty/traits/chalk.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/ra_hir/src/ty/traits/chalk.rs b/crates/ra_hir/src/ty/traits/chalk.rs index 693d9b28f..cfecf75ee 100644 --- a/crates/ra_hir/src/ty/traits/chalk.rs +++ b/crates/ra_hir/src/ty/traits/chalk.rs | |||
@@ -104,7 +104,11 @@ impl ToChalk for Ty { | |||
104 | } | 104 | } |
105 | } | 105 | } |
106 | } | 106 | } |
107 | chalk_ir::Ty::Projection(_) => unimplemented!(), | 107 | chalk_ir::Ty::Projection(proj) => { |
108 | let associated_ty = from_chalk(db, proj.associated_ty_id); | ||
109 | let parameters = from_chalk(db, proj.parameters); | ||
110 | Ty::Projection(ProjectionTy { associated_ty, parameters }) | ||
111 | } | ||
108 | chalk_ir::Ty::ForAll(_) => unimplemented!(), | 112 | chalk_ir::Ty::ForAll(_) => unimplemented!(), |
109 | chalk_ir::Ty::BoundVar(idx) => Ty::Bound(idx as u32), | 113 | chalk_ir::Ty::BoundVar(idx) => Ty::Bound(idx as u32), |
110 | chalk_ir::Ty::InferenceVar(_iv) => panic!("unexpected chalk infer ty"), | 114 | chalk_ir::Ty::InferenceVar(_iv) => panic!("unexpected chalk infer ty"), |