diff options
| author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-05-21 11:19:20 +0100 |
|---|---|---|
| committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-05-21 11:19:20 +0100 |
| commit | 3db7bdb6b733de7b6c857bd2e8dc84c7ba8d2559 (patch) | |
| tree | 987ff9410165b7df6a2165628d9c0c841f464e5f /crates/ra_hir | |
| parent | eabfe3902f363ee03bef8421580c6fe8e3730899 (diff) | |
| parent | 69341a0bbee4cfbc3cb4365ee2d8702874b96ebb (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.rs | 6 | ||||
| -rw-r--r-- | crates/ra_hir/src/ty/traits.rs | 6 |
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 | ||
| 28 | pub(crate) fn solver(_db: &impl HirDatabase, _krate: Crate) -> Arc<Mutex<Solver>> { | 28 | pub(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`. |
| 36 | pub(crate) fn impls_for_trait( | 36 | pub(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. |
| 79 | pub(crate) fn implements( | 79 | pub(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>, |
