aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/traits/chalk.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir_ty/src/traits/chalk.rs')
-rw-r--r--crates/hir_ty/src/traits/chalk.rs7
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())