diff options
Diffstat (limited to 'crates/ra_hir_ty/src/test_db.rs')
-rw-r--r-- | crates/ra_hir_ty/src/test_db.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/crates/ra_hir_ty/src/test_db.rs b/crates/ra_hir_ty/src/test_db.rs index 0be2fea4b..5bbeabf51 100644 --- a/crates/ra_hir_ty/src/test_db.rs +++ b/crates/ra_hir_ty/src/test_db.rs | |||
@@ -6,8 +6,10 @@ use std::{ | |||
6 | }; | 6 | }; |
7 | 7 | ||
8 | use hir_def::{db::DefDatabase, AssocItemId, ModuleDefId, ModuleId}; | 8 | use hir_def::{db::DefDatabase, AssocItemId, ModuleDefId, ModuleId}; |
9 | use hir_expand::diagnostics::DiagnosticSink; | 9 | use hir_expand::{db::AstDatabase, diagnostics::DiagnosticSink}; |
10 | use ra_db::{salsa, CrateId, FileId, FileLoader, FileLoaderDelegate, RelativePath, SourceDatabase}; | 10 | use ra_db::{ |
11 | salsa, CrateId, FileId, FileLoader, FileLoaderDelegate, RelativePath, SourceDatabase, Upcast, | ||
12 | }; | ||
11 | 13 | ||
12 | use crate::{db::HirDatabase, expr::ExprValidator}; | 14 | use crate::{db::HirDatabase, expr::ExprValidator}; |
13 | 15 | ||
@@ -25,6 +27,18 @@ pub struct TestDB { | |||
25 | runtime: salsa::Runtime<TestDB>, | 27 | runtime: salsa::Runtime<TestDB>, |
26 | } | 28 | } |
27 | 29 | ||
30 | impl Upcast<dyn AstDatabase> for TestDB { | ||
31 | fn upcast(&self) -> &(dyn AstDatabase + 'static) { | ||
32 | &*self | ||
33 | } | ||
34 | } | ||
35 | |||
36 | impl Upcast<dyn DefDatabase> for TestDB { | ||
37 | fn upcast(&self) -> &(dyn DefDatabase + 'static) { | ||
38 | &*self | ||
39 | } | ||
40 | } | ||
41 | |||
28 | impl salsa::Database for TestDB { | 42 | impl salsa::Database for TestDB { |
29 | fn salsa_runtime(&self) -> &salsa::Runtime<TestDB> { | 43 | fn salsa_runtime(&self) -> &salsa::Runtime<TestDB> { |
30 | &self.runtime | 44 | &self.runtime |