fix: issue with modifying a functions dependencies and adding a function that depended on it causing infinite loops

This commit is contained in:
Kasey White
2023-04-08 23:57:15 -04:00
committed by Kasey
parent a17ebf301f
commit efb901f3b4
2 changed files with 26 additions and 17 deletions

View File

@@ -1442,8 +1442,12 @@ pub fn handle_func_dependencies(
) {
let function_component = function_component.clone();
let mut function_dependency_order = function_component.dependencies.clone();
let mut function_dependency_order = function_component
.dependencies
.iter()
.unique()
.cloned()
.collect_vec();
let mut dependency_map = IndexMap::new();
let mut dependency_vec = vec![];
@@ -1455,7 +1459,7 @@ pub fn handle_func_dependencies(
dependency_map.shift_remove(&dependency);
}
function_dependency_order.extend(depend_comp.dependencies.iter().cloned().collect_vec());
function_dependency_order.extend(depend_comp.dependencies.clone());
dependency_map.insert(dependency, ());
}