diff options
Diffstat (limited to 'crates/hir_ty/src/traits/chalk.rs')
-rw-r--r-- | crates/hir_ty/src/traits/chalk.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/crates/hir_ty/src/traits/chalk.rs b/crates/hir_ty/src/traits/chalk.rs index e7217bc11..1f3e1c07a 100644 --- a/crates/hir_ty/src/traits/chalk.rs +++ b/crates/hir_ty/src/traits/chalk.rs | |||
@@ -177,10 +177,9 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> { | |||
177 | } | 177 | } |
178 | 178 | ||
179 | fn opaque_ty_data(&self, id: chalk_ir::OpaqueTyId<Interner>) -> Arc<OpaqueTyDatum> { | 179 | fn opaque_ty_data(&self, id: chalk_ir::OpaqueTyId<Interner>) -> Arc<OpaqueTyDatum> { |
180 | let interned_id = crate::db::InternedOpaqueTyId::from(id); | 180 | let full_id = self.db.lookup_intern_impl_trait_id(id.into()); |
181 | let full_id = self.db.lookup_intern_impl_trait_id(interned_id); | ||
182 | let bound = match full_id { | 181 | let bound = match full_id { |
183 | crate::OpaqueTyId::ReturnTypeImplTrait(func, idx) => { | 182 | crate::ImplTraitId::ReturnTypeImplTrait(func, idx) => { |
184 | let datas = self | 183 | let datas = self |
185 | .db | 184 | .db |
186 | .return_type_impl_traits(func) | 185 | .return_type_impl_traits(func) |
@@ -202,7 +201,7 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> { | |||
202 | let num_vars = datas.num_binders; | 201 | let num_vars = datas.num_binders; |
203 | make_binders(bound, num_vars) | 202 | make_binders(bound, num_vars) |
204 | } | 203 | } |
205 | crate::OpaqueTyId::AsyncBlockTypeImplTrait(..) => { | 204 | crate::ImplTraitId::AsyncBlockTypeImplTrait(..) => { |
206 | if let Some((future_trait, future_output)) = self | 205 | if let Some((future_trait, future_output)) = self |
207 | .db | 206 | .db |
208 | .lang_item(self.krate, "future_trait".into()) | 207 | .lang_item(self.krate, "future_trait".into()) |