Skip to content

Commit 360ad81

Browse files
authored
Merge pull request #21788 from Veykril/push-mwqrzolksvxx
Do not re-query source roots per crate in analysis-stats
2 parents 2cf461f + e436269 commit 360ad81

3 files changed

Lines changed: 4 additions & 5 deletions

File tree

crates/base-db/src/editioned_file_id.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//! Defines [`EditionedFileId`], an interned wrapper around [`span::EditionedFileId`] that
2-
//! is interned (so queries can take it) and remembers its crate.
2+
//! is interned (so queries can take it) and stores only the underlying `span::EditionedFileId`.
33
44
use std::hash::Hash;
55

crates/ide/src/typing.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,11 @@ pub(crate) fn on_char_typed(
7070
if !TRIGGER_CHARS.contains(&char_typed) {
7171
return None;
7272
}
73-
let krate = db
73+
let edition = db
7474
.relevant_crates(position.file_id)
7575
.first()
7676
.copied()
77-
.unwrap_or_else(|| *db.all_crates().first().unwrap());
78-
let edition = krate.data(db).edition;
77+
.map_or(Edition::CURRENT, |krate| krate.data(db).edition);
7978
let editioned_file_id_wrapper = EditionedFileId::new(db, position.file_id, edition);
8079
let file = &db.parse(editioned_file_id_wrapper);
8180
let char_matches_position =

crates/rust-analyzer/src/cli/analysis_stats.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ impl flags::AnalysisStats {
127127
.iter()
128128
.cloned()
129129
.map(|krate| (db.file_source_root(krate.root_file(db)).source_root_id(db), krate))
130-
.unique();
130+
.unique_by(|(source_root_id, _)| *source_root_id);
131131

132132
let mut dep_loc = 0;
133133
let mut workspace_loc = 0;

0 commit comments

Comments
 (0)