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/nameres/path_resolution.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/ra_hir_def/src/nameres/path_resolution.rs') diff --git a/crates/ra_hir_def/src/nameres/path_resolution.rs b/crates/ra_hir_def/src/nameres/path_resolution.rs index c058e70aa..35a0a0c98 100644 --- a/crates/ra_hir_def/src/nameres/path_resolution.rs +++ b/crates/ra_hir_def/src/nameres/path_resolution.rs @@ -70,7 +70,7 @@ impl CrateDefMap { pub(crate) fn resolve_visibility( &self, - db: &impl DefDatabase, + db: &dyn DefDatabase, original_module: LocalModuleId, visibility: &RawVisibility, ) -> Option { @@ -98,7 +98,7 @@ impl CrateDefMap { // the result. pub(super) fn resolve_path_fp_with_macro( &self, - db: &impl DefDatabase, + db: &dyn DefDatabase, mode: ResolveMode, original_module: LocalModuleId, path: &ModPath, @@ -262,7 +262,7 @@ impl CrateDefMap { fn resolve_name_in_module( &self, - db: &impl DefDatabase, + db: &dyn DefDatabase, module: LocalModuleId, name: &Name, shadow: BuiltinShadowMode, @@ -304,7 +304,7 @@ impl CrateDefMap { from_crate_root.or(from_extern_prelude) } - fn resolve_in_prelude(&self, db: &impl DefDatabase, name: &Name) -> PerNs { + fn resolve_in_prelude(&self, db: &dyn DefDatabase, name: &Name) -> PerNs { if let Some(prelude) = self.prelude { let keep; let def_map = if prelude.krate == self.krate { -- cgit v1.2.3