diff --git a/src/review/strategy.rs b/src/review/strategy.rs index d107b34..ca50ead 100644 --- a/src/review/strategy.rs +++ b/src/review/strategy.rs @@ -85,7 +85,16 @@ impl From for Vec { let mut result = vec![]; for (backend, actions) in reviews { - let (to_delete, assign_group, as_dependency) = divide_actions(actions); + let mut to_delete = vec![]; + let mut assign_group = vec![]; + let mut as_dependency = vec![]; + + extract_actions( + actions, + &mut to_delete, + &mut assign_group, + &mut as_dependency, + ); result.push(Strategy::new( backend, @@ -99,13 +108,12 @@ impl From for Vec { } } -fn divide_actions( +fn extract_actions( actions: Vec, -) -> (Vec, Vec<(Package, Rc)>, Vec) { - let mut to_delete = vec![]; - let mut assign_group = vec![]; - let mut as_dependency = vec![]; - + to_delete: &mut Vec, + assign_group: &mut Vec<(Package, Rc)>, + as_dependency: &mut Vec, +) { for action in actions { match action { ReviewAction::Delete(package) => to_delete.push(package), @@ -113,6 +121,4 @@ fn divide_actions( ReviewAction::AsDependency(package) => as_dependency.push(package), } } - - (to_delete, assign_group, as_dependency) }