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/raw.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'crates/ra_hir_def/src/nameres/raw.rs') diff --git a/crates/ra_hir_def/src/nameres/raw.rs b/crates/ra_hir_def/src/nameres/raw.rs index ea3c00da8..0e4931f58 100644 --- a/crates/ra_hir_def/src/nameres/raw.rs +++ b/crates/ra_hir_def/src/nameres/raw.rs @@ -9,7 +9,6 @@ use std::{ops::Index, sync::Arc}; use hir_expand::{ ast_id_map::AstIdMap, - db::AstDatabase, hygiene::Hygiene, name::{AsName, Name}, }; @@ -45,16 +44,13 @@ pub struct RawItems { } impl RawItems { - pub(crate) fn raw_items_query( - db: &(impl DefDatabase + AstDatabase), - file_id: HirFileId, - ) -> Arc { + pub(crate) fn raw_items_query(db: &dyn DefDatabase, file_id: HirFileId) -> Arc { let _p = profile("raw_items_query"); let mut collector = RawItemsCollector { raw_items: RawItems::default(), source_ast_id_map: db.ast_id_map(file_id), file_id, - hygiene: Hygiene::new(db, file_id), + hygiene: Hygiene::new(db.upcast(), file_id), }; if let Some(node) = db.parse_or_expand(file_id) { if let Some(source_file) = ast::SourceFile::cast(node.clone()) { -- cgit v1.2.3