aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/traits
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2019-08-23 16:19:37 +0100
committerFlorian Diebold <[email protected]>2019-09-03 13:00:35 +0100
commit741e350d4b7c3561f242207541ac9d7cab6ce45f (patch)
tree8ab45d1f2491395eba0e6f938eddc65f15d2667d /crates/ra_hir/src/ty/traits
parent966ab9abd2253e68d2e410a58dc1328805ee7f61 (diff)
Add support for associated type bindings (`where Trait<Type = X>`)
Diffstat (limited to 'crates/ra_hir/src/ty/traits')
-rw-r--r--crates/ra_hir/src/ty/traits/chalk.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/ra_hir/src/ty/traits/chalk.rs b/crates/ra_hir/src/ty/traits/chalk.rs
index 2ebc06135..3ab5b7cca 100644
--- a/crates/ra_hir/src/ty/traits/chalk.rs
+++ b/crates/ra_hir/src/ty/traits/chalk.rs
@@ -211,6 +211,13 @@ impl ToChalk for GenericPredicate {
211 GenericPredicate::Implemented(trait_ref) => { 211 GenericPredicate::Implemented(trait_ref) => {
212 make_binders(chalk_ir::WhereClause::Implemented(trait_ref.to_chalk(db)), 0) 212 make_binders(chalk_ir::WhereClause::Implemented(trait_ref.to_chalk(db)), 0)
213 } 213 }
214 GenericPredicate::Projection(projection_pred) => make_binders(
215 chalk_ir::WhereClause::ProjectionEq(chalk_ir::ProjectionEq {
216 projection: projection_pred.projection_ty.to_chalk(db),
217 ty: projection_pred.ty.to_chalk(db),
218 }),
219 0,
220 ),
214 GenericPredicate::Error => { 221 GenericPredicate::Error => {
215 let impossible_trait_ref = chalk_ir::TraitRef { 222 let impossible_trait_ref = chalk_ir::TraitRef {
216 trait_id: UNKNOWN_TRAIT, 223 trait_id: UNKNOWN_TRAIT,