From 9faea2364dee4fbc9391ad233c570b70256ef002 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 13 Mar 2020 16:05:46 +0100 Subject: Use `dyn Trait` for working with databse It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate). --- crates/ra_hir_def/src/lang_item.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'crates/ra_hir_def/src/lang_item.rs') diff --git a/crates/ra_hir_def/src/lang_item.rs b/crates/ra_hir_def/src/lang_item.rs index 6de49730e..01b367278 100644 --- a/crates/ra_hir_def/src/lang_item.rs +++ b/crates/ra_hir_def/src/lang_item.rs @@ -77,7 +77,7 @@ impl LangItems { } /// Salsa query. This will look for lang items in a specific crate. - pub(crate) fn crate_lang_items_query(db: &impl DefDatabase, krate: CrateId) -> Arc { + pub(crate) fn crate_lang_items_query(db: &dyn DefDatabase, krate: CrateId) -> Arc { let mut lang_items = LangItems::default(); let crate_def_map = db.crate_def_map(krate); @@ -92,7 +92,7 @@ impl LangItems { } pub(crate) fn module_lang_items_query( - db: &impl DefDatabase, + db: &dyn DefDatabase, module: ModuleId, ) -> Option> { let mut lang_items = LangItems::default(); @@ -107,7 +107,7 @@ impl LangItems { /// Salsa query. Look for a lang item, starting from the specified crate and recursively /// traversing its dependencies. pub(crate) fn lang_item_query( - db: &impl DefDatabase, + db: &dyn DefDatabase, start_crate: CrateId, item: SmolStr, ) -> Option { @@ -122,7 +122,7 @@ impl LangItems { .find_map(|dep| db.lang_item(dep.crate_id, item.clone())) } - fn collect_lang_items(&mut self, db: &impl DefDatabase, module: ModuleId) { + fn collect_lang_items(&mut self, db: &dyn DefDatabase, module: ModuleId) { // Look for impl targets let def_map = db.crate_def_map(module.krate); let module_data = &def_map[module.local_id]; @@ -152,7 +152,7 @@ impl LangItems { fn collect_lang_item( &mut self, - db: &impl DefDatabase, + db: &dyn DefDatabase, item: T, constructor: fn(T) -> LangItemTarget, ) where -- cgit v1.2.3