aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/db.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-05-07 18:37:47 +0100
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-05-07 18:37:47 +0100
commit70cd5ffbf5f2283fc4986c581d225987620b5335 (patch)
tree10d66df8729d3bd823ace808f3a05146a32d4ed4 /crates/ra_hir/src/db.rs
parentd3efedb752bb2198796603d8a479a5e3ee472a97 (diff)
parent530b3047ed19a6468fc75e5a5ec14763093a069d (diff)
Merge #1251
1251: Chalk integration improvements r=matklad a=flodiebold A few improvements that came up while working on where clause support: - turn `implements` into a query again to improve performance - allow skipping to a specific function with `analysis-stats`, e.g. `ra_cli analysis-stats --only world_symbols` - deduplicate impls in impls_for_trait -- previously many impls e.g. from std where repeated many times, this should help performance as well... - add a `HirDisplay` implementation for TraitRef (not used here anywhere, but useful for debugging) Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/db.rs')
-rw-r--r--crates/ra_hir/src/db.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs
index 8aaf0375a..689dd6225 100644
--- a/crates/ra_hir/src/db.rs
+++ b/crates/ra_hir/src/db.rs
@@ -161,6 +161,13 @@ pub trait HirDatabase: DefDatabase {
161 #[salsa::invoke(crate::ty::traits::solver)] 161 #[salsa::invoke(crate::ty::traits::solver)]
162 #[salsa::volatile] 162 #[salsa::volatile]
163 fn solver(&self, krate: Crate) -> Arc<Mutex<crate::ty::traits::Solver>>; 163 fn solver(&self, krate: Crate) -> Arc<Mutex<crate::ty::traits::Solver>>;
164
165 #[salsa::invoke(crate::ty::traits::implements)]
166 fn implements(
167 &self,
168 krate: Crate,
169 goal: crate::ty::Canonical<crate::ty::TraitRef>,
170 ) -> Option<crate::ty::traits::Solution>;
164} 171}
165 172
166#[test] 173#[test]