aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/db.rs')
-rw-r--r--crates/ra_hir/src/db.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs
index 276b0774f..d9fad0ae2 100644
--- a/crates/ra_hir/src/db.rs
+++ b/crates/ra_hir/src/db.rs
@@ -13,8 +13,10 @@ use crate::{
13 lang_item::{LangItemTarget, LangItems}, 13 lang_item::{LangItemTarget, LangItems},
14 traits::TraitData, 14 traits::TraitData,
15 ty::{ 15 ty::{
16 method_resolution::CrateImplBlocks, traits::Impl, CallableDef, FnSig, GenericPredicate, 16 method_resolution::CrateImplBlocks,
17 InferenceResult, Namespace, Substs, Ty, TypableDef, TypeCtor, 17 traits::{AssocTyValue, Impl},
18 CallableDef, FnSig, GenericPredicate, InferenceResult, Namespace, Substs, Ty, TypableDef,
19 TypeCtor,
18 }, 20 },
19 type_alias::TypeAliasData, 21 type_alias::TypeAliasData,
20 Const, ConstData, Crate, DefWithBody, FnData, Function, ImplBlock, Module, Static, StructField, 22 Const, ConstData, Crate, DefWithBody, FnData, Function, ImplBlock, Module, Static, StructField,
@@ -119,6 +121,8 @@ pub trait HirDatabase: DefDatabase + AstDatabase {
119 fn intern_type_ctor(&self, type_ctor: TypeCtor) -> ids::TypeCtorId; 121 fn intern_type_ctor(&self, type_ctor: TypeCtor) -> ids::TypeCtorId;
120 #[salsa::interned] 122 #[salsa::interned]
121 fn intern_chalk_impl(&self, impl_: Impl) -> ids::GlobalImplId; 123 fn intern_chalk_impl(&self, impl_: Impl) -> ids::GlobalImplId;
124 #[salsa::interned]
125 fn intern_assoc_ty_value(&self, assoc_ty_value: AssocTyValue) -> ids::AssocTyValueId;
122 126
123 #[salsa::invoke(crate::ty::traits::chalk::associated_ty_data_query)] 127 #[salsa::invoke(crate::ty::traits::chalk::associated_ty_data_query)]
124 fn associated_ty_data(&self, id: chalk_ir::TypeId) -> Arc<chalk_rust_ir::AssociatedTyDatum>; 128 fn associated_ty_data(&self, id: chalk_ir::TypeId) -> Arc<chalk_rust_ir::AssociatedTyDatum>;
@@ -140,6 +144,13 @@ pub trait HirDatabase: DefDatabase + AstDatabase {
140 #[salsa::invoke(crate::ty::traits::chalk::impl_datum_query)] 144 #[salsa::invoke(crate::ty::traits::chalk::impl_datum_query)]
141 fn impl_datum(&self, krate: Crate, impl_id: chalk_ir::ImplId) -> Arc<chalk_rust_ir::ImplDatum>; 145 fn impl_datum(&self, krate: Crate, impl_id: chalk_ir::ImplId) -> Arc<chalk_rust_ir::ImplDatum>;
142 146
147 #[salsa::invoke(crate::ty::traits::chalk::associated_ty_value_query)]
148 fn associated_ty_value(
149 &self,
150 krate: Crate,
151 id: chalk_rust_ir::AssociatedTyValueId,
152 ) -> Arc<chalk_rust_ir::AssociatedTyValue>;
153
143 #[salsa::invoke(crate::ty::traits::trait_solve_query)] 154 #[salsa::invoke(crate::ty::traits::trait_solve_query)]
144 fn trait_solve( 155 fn trait_solve(
145 &self, 156 &self,