diff options
author | Florian Diebold <[email protected]> | 2019-09-14 09:04:56 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2019-09-14 09:04:56 +0100 |
commit | a61615c95537ec85b6b52505f42cbd9481adf89d (patch) | |
tree | b9e0af636566398fd983bca29f3af20405c9da51 /crates/ra_hir/src/ty | |
parent | b8c16ec002d48f4fb9d883d091114ccd1286ba47 (diff) |
Upgrade Chalk
... and remove Ty::UnselectedProjection. It'll be handled differently.
Diffstat (limited to 'crates/ra_hir/src/ty')
-rw-r--r-- | crates/ra_hir/src/ty/infer.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir/src/ty/traits/chalk.rs | 9 |
2 files changed, 0 insertions, 13 deletions
diff --git a/crates/ra_hir/src/ty/infer.rs b/crates/ra_hir/src/ty/infer.rs index 3ee083a04..bf57bb3b7 100644 --- a/crates/ra_hir/src/ty/infer.rs +++ b/crates/ra_hir/src/ty/infer.rs | |||
@@ -429,10 +429,6 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
429 | let ty = self.resolve_ty_as_possible(&mut vec![], ty); | 429 | let ty = self.resolve_ty_as_possible(&mut vec![], ty); |
430 | ty.fold(&mut |ty| match ty { | 430 | ty.fold(&mut |ty| match ty { |
431 | Ty::Projection(proj_ty) => self.normalize_projection_ty(proj_ty), | 431 | Ty::Projection(proj_ty) => self.normalize_projection_ty(proj_ty), |
432 | Ty::UnselectedProjection(proj_ty) => { | ||
433 | // FIXME use Chalk's unselected projection support | ||
434 | Ty::UnselectedProjection(proj_ty) | ||
435 | } | ||
436 | _ => ty, | 432 | _ => ty, |
437 | }) | 433 | }) |
438 | } | 434 | } |
diff --git a/crates/ra_hir/src/ty/traits/chalk.rs b/crates/ra_hir/src/ty/traits/chalk.rs index 0367c6560..c748e9d84 100644 --- a/crates/ra_hir/src/ty/traits/chalk.rs +++ b/crates/ra_hir/src/ty/traits/chalk.rs | |||
@@ -65,14 +65,6 @@ impl ToChalk for Ty { | |||
65 | let parameters = proj_ty.parameters.to_chalk(db); | 65 | let parameters = proj_ty.parameters.to_chalk(db); |
66 | chalk_ir::ProjectionTy { associated_ty_id, parameters }.cast() | 66 | chalk_ir::ProjectionTy { associated_ty_id, parameters }.cast() |
67 | } | 67 | } |
68 | Ty::UnselectedProjection(proj_ty) => { | ||
69 | let type_name = lalrpop_intern::intern(&proj_ty.type_name.to_string()); | ||
70 | let parameters = proj_ty.parameters.to_chalk(db); | ||
71 | chalk_ir::Ty::UnselectedProjection(chalk_ir::UnselectedProjectionTy { | ||
72 | type_name, | ||
73 | parameters, | ||
74 | }) | ||
75 | } | ||
76 | Ty::Param { idx, .. } => { | 68 | Ty::Param { idx, .. } => { |
77 | PlaceholderIndex { ui: UniverseIndex::ROOT, idx: idx as usize }.to_ty() | 69 | PlaceholderIndex { ui: UniverseIndex::ROOT, idx: idx as usize }.to_ty() |
78 | } | 70 | } |
@@ -113,7 +105,6 @@ impl ToChalk for Ty { | |||
113 | } | 105 | } |
114 | } | 106 | } |
115 | chalk_ir::Ty::Projection(_) => unimplemented!(), | 107 | chalk_ir::Ty::Projection(_) => unimplemented!(), |
116 | chalk_ir::Ty::UnselectedProjection(_) => unimplemented!(), | ||
117 | chalk_ir::Ty::ForAll(_) => unimplemented!(), | 108 | chalk_ir::Ty::ForAll(_) => unimplemented!(), |
118 | chalk_ir::Ty::BoundVar(idx) => Ty::Bound(idx as u32), | 109 | chalk_ir::Ty::BoundVar(idx) => Ty::Bound(idx as u32), |
119 | chalk_ir::Ty::InferenceVar(_iv) => panic!("unexpected chalk infer ty"), | 110 | chalk_ir::Ty::InferenceVar(_iv) => panic!("unexpected chalk infer ty"), |