Skip to content

Commit 6906ae9

Browse files
committed
And fix it
1 parent 4074803 commit 6906ae9

File tree

1 file changed

+16
-14
lines changed
  • crates/rust-analyzer/src/config

1 file changed

+16
-14
lines changed

crates/rust-analyzer/src/config/tree.rs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ impl ConfigDb {
205205
}
206206
});
207207
let parent_changes = if let Some(source_roots) = source_root_change {
208-
source_roots
208+
let parent_changes = source_roots
209209
.iter()
210210
.flat_map(|path: &AbsPathBuf| {
211211
path.ancestors()
@@ -219,7 +219,21 @@ impl ConfigDb {
219219
.tuple_windows()
220220
.map(|(a, b)| (a, ConfigParent::Parent(b)))
221221
})
222-
.collect::<FxHashMap<_, _>>()
222+
.collect::<FxHashMap<_, _>>();
223+
224+
// Remove source roots (& their parent config files) that are no longer part of the project root
225+
self.known_file_ids
226+
.iter()
227+
.cloned()
228+
.filter(|&x| x != self.xdg_config_file_id && !parent_changes.contains_key(&x))
229+
.collect_vec()
230+
.into_iter()
231+
.for_each(|deleted| {
232+
self.known_file_ids.remove(&deleted);
233+
self.reset_node(deleted);
234+
});
235+
236+
parent_changes
223237
} else {
224238
Default::default()
225239
};
@@ -237,18 +251,6 @@ impl ConfigDb {
237251
}
238252
}
239253

240-
// Remove source roots (& their parent config files) that are no longer part of the project root
241-
self.known_file_ids
242-
.iter()
243-
.cloned()
244-
.filter(|&x| x != self.xdg_config_file_id && !parent_changes.contains_key(&x))
245-
.collect_vec()
246-
.into_iter()
247-
.for_each(|deleted| {
248-
self.known_file_ids.remove(&deleted);
249-
self.reset_node(deleted);
250-
});
251-
252254
let inner = ConfigChangesInner {
253255
ra_toml_changes: changes.ra_toml_changes,
254256
client_change: changes.client_change,

0 commit comments

Comments
 (0)