From 339448157c479f724ae22fce6d5fa78f76c59720 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Fri, 11 Jun 2021 09:27:25 +0300 Subject: Only prefill caches in the completion benchmark --- crates/rust-analyzer/src/cli/analysis_stats.rs | 1 + crates/rust-analyzer/src/cli/diagnostics.rs | 8 ++++++-- crates/rust-analyzer/src/cli/load_cargo.rs | 6 +++++- crates/rust-analyzer/src/cli/ssr.rs | 9 +++++++-- crates/rust-analyzer/src/integrated_benchmarks.rs | 2 ++ 5 files changed, 21 insertions(+), 5 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs index 5364e907c..843c0ca37 100644 --- a/crates/rust-analyzer/src/cli/analysis_stats.rs +++ b/crates/rust-analyzer/src/cli/analysis_stats.rs @@ -70,6 +70,7 @@ impl AnalysisStatsCmd { load_out_dirs_from_check: self.enable_build_scripts, wrap_rustc: false, with_proc_macro: self.enable_proc_macros, + prefill_caches: false, }; let (host, vfs, _proc_macro) = load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?; diff --git a/crates/rust-analyzer/src/cli/diagnostics.rs b/crates/rust-analyzer/src/cli/diagnostics.rs index c33c8179c..dc9a390fe 100644 --- a/crates/rust-analyzer/src/cli/diagnostics.rs +++ b/crates/rust-analyzer/src/cli/diagnostics.rs @@ -34,8 +34,12 @@ pub fn diagnostics( with_proc_macro: bool, ) -> Result<()> { let cargo_config = Default::default(); - let load_cargo_config = - LoadCargoConfig { load_out_dirs_from_check, with_proc_macro, wrap_rustc: false }; + let load_cargo_config = LoadCargoConfig { + load_out_dirs_from_check, + with_proc_macro, + wrap_rustc: false, + prefill_caches: false, + }; let (host, _vfs, _proc_macro) = load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?; let db = host.raw_database(); diff --git a/crates/rust-analyzer/src/cli/load_cargo.rs b/crates/rust-analyzer/src/cli/load_cargo.rs index 612fa527f..19cb1c046 100644 --- a/crates/rust-analyzer/src/cli/load_cargo.rs +++ b/crates/rust-analyzer/src/cli/load_cargo.rs @@ -18,6 +18,7 @@ pub(crate) struct LoadCargoConfig { pub(crate) load_out_dirs_from_check: bool, pub(crate) wrap_rustc: bool, pub(crate) with_proc_macro: bool, + pub(crate) prefill_caches: bool, } pub(crate) fn load_workspace_at( @@ -83,7 +84,9 @@ fn load_workspace( let host = load_crate_graph(crate_graph, project_folders.source_root_config, &mut vfs, &receiver); - host.analysis().prime_caches(|_| {})?; + if config.prefill_caches { + host.analysis().prime_caches(|_| {})?; + } Ok((host, vfs, proc_macro_client)) } @@ -146,6 +149,7 @@ mod tests { load_out_dirs_from_check: false, wrap_rustc: false, with_proc_macro: false, + prefill_caches: false, }; let (host, _vfs, _proc_macro) = load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?; diff --git a/crates/rust-analyzer/src/cli/ssr.rs b/crates/rust-analyzer/src/cli/ssr.rs index 1fd9b5a9b..0b3475e09 100644 --- a/crates/rust-analyzer/src/cli/ssr.rs +++ b/crates/rust-analyzer/src/cli/ssr.rs @@ -13,6 +13,7 @@ pub fn apply_ssr_rules(rules: Vec) -> Result<()> { load_out_dirs_from_check: true, wrap_rustc: false, with_proc_macro: true, + prefill_caches: false, }; let (host, vfs, _proc_macro) = load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?; @@ -39,8 +40,12 @@ pub fn search_for_patterns(patterns: Vec, debug_snippet: Option