aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-05-21 11:19:20 +0100
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-05-21 11:19:20 +0100
commit3db7bdb6b733de7b6c857bd2e8dc84c7ba8d2559 (patch)
tree987ff9410165b7df6a2165628d9c0c841f464e5f /crates/ra_hir
parenteabfe3902f363ee03bef8421580c6fe8e3730899 (diff)
parent69341a0bbee4cfbc3cb4365ee2d8702874b96ebb (diff)
Merge #1295
1295: add _query to query functions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_hir')
-rw-r--r--crates/ra_hir/src/db.rs6
-rw-r--r--crates/ra_hir/src/ty/traits.rs6
2 files changed, 6 insertions, 6 deletions
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs
index bda02d3cc..da62db58a 100644
--- a/crates/ra_hir/src/db.rs
+++ b/crates/ra_hir/src/db.rs
@@ -156,7 +156,7 @@ pub trait HirDatabase: DefDatabase {
156 #[salsa::invoke(crate::ty::method_resolution::CrateImplBlocks::impls_in_crate_query)] 156 #[salsa::invoke(crate::ty::method_resolution::CrateImplBlocks::impls_in_crate_query)]
157 fn impls_in_crate(&self, krate: Crate) -> Arc<CrateImplBlocks>; 157 fn impls_in_crate(&self, krate: Crate) -> Arc<CrateImplBlocks>;
158 158
159 #[salsa::invoke(crate::ty::traits::impls_for_trait)] 159 #[salsa::invoke(crate::ty::traits::impls_for_trait_query)]
160 fn impls_for_trait(&self, krate: Crate, trait_: Trait) -> Arc<[ImplBlock]>; 160 fn impls_for_trait(&self, krate: Crate, trait_: Trait) -> Arc<[ImplBlock]>;
161 161
162 /// This provides the Chalk trait solver instance. Because Chalk always 162 /// This provides the Chalk trait solver instance. Because Chalk always
@@ -164,11 +164,11 @@ pub trait HirDatabase: DefDatabase {
164 /// because Chalk does its own internal caching, the solver is wrapped in a 164 /// because Chalk does its own internal caching, the solver is wrapped in a
165 /// Mutex and the query is marked volatile, to make sure the cached state is 165 /// Mutex and the query is marked volatile, to make sure the cached state is
166 /// thrown away when input facts change. 166 /// thrown away when input facts change.
167 #[salsa::invoke(crate::ty::traits::solver)] 167 #[salsa::invoke(crate::ty::traits::solver_query)]
168 #[salsa::volatile] 168 #[salsa::volatile]
169 fn solver(&self, krate: Crate) -> Arc<Mutex<crate::ty::traits::Solver>>; 169 fn solver(&self, krate: Crate) -> Arc<Mutex<crate::ty::traits::Solver>>;
170 170
171 #[salsa::invoke(crate::ty::traits::implements)] 171 #[salsa::invoke(crate::ty::traits::implements_query)]
172 fn implements( 172 fn implements(
173 &self, 173 &self,
174 krate: Crate, 174 krate: Crate,
diff --git a/crates/ra_hir/src/ty/traits.rs b/crates/ra_hir/src/ty/traits.rs
index 7de04c044..190d018ff 100644
--- a/crates/ra_hir/src/ty/traits.rs
+++ b/crates/ra_hir/src/ty/traits.rs
@@ -25,7 +25,7 @@ struct ChalkContext<'a, DB> {
25 krate: Crate, 25 krate: Crate,
26} 26}
27 27
28pub(crate) fn solver(_db: &impl HirDatabase, _krate: Crate) -> Arc<Mutex<Solver>> { 28pub(crate) fn solver_query(_db: &impl HirDatabase, _krate: Crate) -> Arc<Mutex<Solver>> {
29 // krate parameter is just so we cache a unique solver per crate 29 // krate parameter is just so we cache a unique solver per crate
30 let solver_choice = chalk_solve::SolverChoice::SLG { max_size: CHALK_SOLVER_MAX_SIZE }; 30 let solver_choice = chalk_solve::SolverChoice::SLG { max_size: CHALK_SOLVER_MAX_SIZE };
31 debug!("Creating new solver for crate {:?}", _krate); 31 debug!("Creating new solver for crate {:?}", _krate);
@@ -33,7 +33,7 @@ pub(crate) fn solver(_db: &impl HirDatabase, _krate: Crate) -> Arc<Mutex<Solver>
33} 33}
34 34
35/// Collects impls for the given trait in the whole dependency tree of `krate`. 35/// Collects impls for the given trait in the whole dependency tree of `krate`.
36pub(crate) fn impls_for_trait( 36pub(crate) fn impls_for_trait_query(
37 db: &impl HirDatabase, 37 db: &impl HirDatabase,
38 krate: Crate, 38 krate: Crate,
39 trait_: Trait, 39 trait_: Trait,
@@ -76,7 +76,7 @@ pub enum Obligation {
76} 76}
77 77
78/// Check using Chalk whether trait is implemented for given parameters including `Self` type. 78/// Check using Chalk whether trait is implemented for given parameters including `Self` type.
79pub(crate) fn implements( 79pub(crate) fn implements_query(
80 db: &impl HirDatabase, 80 db: &impl HirDatabase,
81 krate: Crate, 81 krate: Crate,
82 trait_ref: Canonical<TraitRef>, 82 trait_ref: Canonical<TraitRef>,