diff --git a/crates/flow/src/incremental/graph.rs b/crates/flow/src/incremental/graph.rs index 77a1c82..bc8c4ca 100644 --- a/crates/flow/src/incremental/graph.rs +++ b/crates/flow/src/incremental/graph.rs @@ -268,20 +268,17 @@ impl DependencyGraph { /// ``` pub fn find_affected_files(&self, changed_files: &RapidSet) -> RapidSet { let mut affected = thread_utilities::get_set(); - let mut visited = thread_utilities::get_set(); - let mut queue: VecDeque = changed_files.iter().cloned().collect(); + let mut queue: VecDeque<&PathBuf> = changed_files.iter().collect(); while let Some(file) = queue.pop_front() { - if !visited.insert(file.clone()) { + if !affected.insert(file.clone()) { continue; } - affected.insert(file.clone()); - // Follow reverse edges (files that depend on this file) - for edge in self.get_dependents(&file) { + for edge in self.get_dependents(file) { if edge.effective_strength() == DependencyStrength::Strong { - queue.push_back(edge.from.clone()); + queue.push_back(&edge.from); } } }