aboutsummaryrefslogtreecommitdiff
path: root/crates/rust-analyzer/src/cli/analysis_stats.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rust-analyzer/src/cli/analysis_stats.rs')
-rw-r--r--crates/rust-analyzer/src/cli/analysis_stats.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs
index 2f4c29e06..9d09501cd 100644
--- a/crates/rust-analyzer/src/cli/analysis_stats.rs
+++ b/crates/rust-analyzer/src/cli/analysis_stats.rs
@@ -1,7 +1,11 @@
1//! Fully type-check project and print various stats, like the number of type 1//! Fully type-check project and print various stats, like the number of type
2//! errors. 2//! errors.
3 3
4use std::{collections::HashSet, path::Path, time::Instant}; 4use std::{path::Path, time::Instant};
5
6use itertools::Itertools;
7use rand::{seq::SliceRandom, thread_rng};
8use rustc_hash::FxHashSet;
5 9
6use hir::{ 10use hir::{
7 db::{AstDatabase, DefDatabase, HirDatabase}, 11 db::{AstDatabase, DefDatabase, HirDatabase},
@@ -9,10 +13,8 @@ use hir::{
9}; 13};
10use hir_def::FunctionId; 14use hir_def::FunctionId;
11use hir_ty::{Ty, TypeWalk}; 15use hir_ty::{Ty, TypeWalk};
12use itertools::Itertools;
13use ra_db::SourceDatabaseExt; 16use ra_db::SourceDatabaseExt;
14use ra_syntax::AstNode; 17use ra_syntax::AstNode;
15use rand::{seq::SliceRandom, thread_rng};
16use stdx::format_to; 18use stdx::format_to;
17 19
18use crate::cli::{load_cargo::load_cargo, progress_report::ProgressReport, Result, Verbosity}; 20use crate::cli::{load_cargo::load_cargo, progress_report::ProgressReport, Result, Verbosity};
@@ -33,7 +35,7 @@ pub fn analysis_stats(
33 println!("Database loaded {:?}", db_load_time.elapsed()); 35 println!("Database loaded {:?}", db_load_time.elapsed());
34 let analysis_time = Instant::now(); 36 let analysis_time = Instant::now();
35 let mut num_crates = 0; 37 let mut num_crates = 0;
36 let mut visited_modules = HashSet::new(); 38 let mut visited_modules = FxHashSet::default();
37 let mut visit_queue = Vec::new(); 39 let mut visit_queue = Vec::new();
38 40
39 let mut krates = Crate::all(db); 41 let mut krates = Crate::all(db);