diff options
Diffstat (limited to 'crates/hir_ty/src/traits/chalk')
-rw-r--r-- | crates/hir_ty/src/traits/chalk/mapping.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/hir_ty/src/traits/chalk/mapping.rs b/crates/hir_ty/src/traits/chalk/mapping.rs index 5e4f97a46..59aaa5560 100644 --- a/crates/hir_ty/src/traits/chalk/mapping.rs +++ b/crates/hir_ty/src/traits/chalk/mapping.rs | |||
@@ -43,7 +43,7 @@ impl ToChalk for Ty { | |||
43 | chalk_ir::TyKind::OpaqueType(id, substitution).intern(&Interner) | 43 | chalk_ir::TyKind::OpaqueType(id, substitution).intern(&Interner) |
44 | } | 44 | } |
45 | 45 | ||
46 | TyKind::ForeignType(id) => chalk_ir::TyKind::Foreign(id).intern(&Interner), | 46 | TyKind::Foreign(id) => chalk_ir::TyKind::Foreign(id).intern(&Interner), |
47 | 47 | ||
48 | TyKind::Scalar(scalar) => chalk_ir::TyKind::Scalar(scalar).intern(&Interner), | 48 | TyKind::Scalar(scalar) => chalk_ir::TyKind::Scalar(scalar).intern(&Interner), |
49 | 49 | ||
@@ -103,12 +103,12 @@ impl ToChalk for Ty { | |||
103 | }; | 103 | }; |
104 | chalk_ir::TyKind::Dyn(bounded_ty).intern(&Interner) | 104 | chalk_ir::TyKind::Dyn(bounded_ty).intern(&Interner) |
105 | } | 105 | } |
106 | TyKind::Unknown => chalk_ir::TyKind::Error.intern(&Interner), | 106 | TyKind::Error => chalk_ir::TyKind::Error.intern(&Interner), |
107 | } | 107 | } |
108 | } | 108 | } |
109 | fn from_chalk(db: &dyn HirDatabase, chalk: chalk_ir::Ty<Interner>) -> Self { | 109 | fn from_chalk(db: &dyn HirDatabase, chalk: chalk_ir::Ty<Interner>) -> Self { |
110 | match chalk.data(&Interner).kind.clone() { | 110 | match chalk.data(&Interner).kind.clone() { |
111 | chalk_ir::TyKind::Error => TyKind::Unknown, | 111 | chalk_ir::TyKind::Error => TyKind::Error, |
112 | chalk_ir::TyKind::Array(ty, _size) => TyKind::Array(from_chalk(db, ty)), | 112 | chalk_ir::TyKind::Array(ty, _size) => TyKind::Array(from_chalk(db, ty)), |
113 | chalk_ir::TyKind::Placeholder(idx) => TyKind::Placeholder(idx), | 113 | chalk_ir::TyKind::Placeholder(idx) => TyKind::Placeholder(idx), |
114 | chalk_ir::TyKind::Alias(chalk_ir::AliasTy::Projection(proj)) => { | 114 | chalk_ir::TyKind::Alias(chalk_ir::AliasTy::Projection(proj)) => { |
@@ -138,7 +138,7 @@ impl ToChalk for Ty { | |||
138 | TyKind::Function(FnPointer { num_args: (substs.len(&Interner) - 1), sig, substs }) | 138 | TyKind::Function(FnPointer { num_args: (substs.len(&Interner) - 1), sig, substs }) |
139 | } | 139 | } |
140 | chalk_ir::TyKind::BoundVar(idx) => TyKind::BoundVar(idx), | 140 | chalk_ir::TyKind::BoundVar(idx) => TyKind::BoundVar(idx), |
141 | chalk_ir::TyKind::InferenceVar(_iv, _kind) => TyKind::Unknown, | 141 | chalk_ir::TyKind::InferenceVar(_iv, _kind) => TyKind::Error, |
142 | chalk_ir::TyKind::Dyn(where_clauses) => { | 142 | chalk_ir::TyKind::Dyn(where_clauses) => { |
143 | assert_eq!(where_clauses.bounds.binders.len(&Interner), 1); | 143 | assert_eq!(where_clauses.bounds.binders.len(&Interner), 1); |
144 | let bounds = where_clauses | 144 | let bounds = where_clauses |
@@ -181,7 +181,7 @@ impl ToChalk for Ty { | |||
181 | 181 | ||
182 | chalk_ir::TyKind::Closure(id, subst) => TyKind::Closure(id, from_chalk(db, subst)), | 182 | chalk_ir::TyKind::Closure(id, subst) => TyKind::Closure(id, from_chalk(db, subst)), |
183 | 183 | ||
184 | chalk_ir::TyKind::Foreign(foreign_def_id) => TyKind::ForeignType(foreign_def_id), | 184 | chalk_ir::TyKind::Foreign(foreign_def_id) => TyKind::Foreign(foreign_def_id), |
185 | chalk_ir::TyKind::Generator(_, _) => unimplemented!(), // FIXME | 185 | chalk_ir::TyKind::Generator(_, _) => unimplemented!(), // FIXME |
186 | chalk_ir::TyKind::GeneratorWitness(_, _) => unimplemented!(), // FIXME | 186 | chalk_ir::TyKind::GeneratorWitness(_, _) => unimplemented!(), // FIXME |
187 | } | 187 | } |