1 //! Re-exports various subcrates databases so that the calling code can depend
2 //! only on `hir`. This breaks abstraction boundary a bit, it would be cool if
5 //! But we need this for at least LRU caching at the query level.
6 pub use hir_def::db::*;
7 pub use hir_expand::db::{
8 AstDatabase, AstDatabaseStorage, AstIdMapQuery, HygieneFrameQuery, InternMacroCallQuery,
9 MacroArgTextQuery, MacroDefQuery, MacroExpandQuery, ParseMacroExpansionQuery,
11 pub use hir_ty::db::*;
14 fn hir_database_is_object_safe() {
15 fn _assert_object_safe(_: &dyn HirDatabase) {}