diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs index e9a991a5748..f445e03bc14 100644 --- a/crates/ra_db/src/input.rs +++ b/crates/ra_db/src/input.rs @@ -118,9 +118,10 @@ impl CrateGraph { self.arena[&crate_id].dependencies.iter() } fn dfs_find(&self, target: CrateId, from: CrateId, visited: &mut FxHashSet) -> bool { - if visited.contains(&from) { + if !visited.insert(from) { return false; } + for dep in self.dependencies(from) { let crate_id = dep.crate_id(); if crate_id == target { @@ -131,7 +132,6 @@ impl CrateGraph { return true; } } - visited.insert(from); return false; } }