use retain instead of position

This commit is contained in:
microproofs 2023-07-31 15:26:38 -04:00 committed by Kasey
parent 7bf22fa58b
commit 6a1b2db698
1 changed files with 7 additions and 16 deletions

View File

@ -2597,15 +2597,10 @@ impl<'a> CodeGenerator<'a> {
if !(dep_generic_func == &generic_func && dep_variant == &variant) { if !(dep_generic_func == &generic_func && dep_variant == &variant) {
validator_hoistable validator_hoistable
.insert(0, (dep_generic_func.clone(), dep_variant.clone())); .insert(0, (dep_generic_func.clone(), dep_variant.clone()));
let remove_index =
sorted_function_vec sorted_function_vec.retain(|(generic_func, variant)| {
.iter() !(generic_func == dep_generic_func && variant == dep_variant)
.position(|(generic_func, variant)| {
generic_func == dep_generic_func && variant == dep_variant
}); });
if let Some(index) = remove_index {
sorted_function_vec.remove(index);
}
} }
} }
} }
@ -2781,14 +2776,10 @@ impl<'a> CodeGenerator<'a> {
if !params.is_empty() { if !params.is_empty() {
for (dep_generic_func, dep_variant) in deps.iter() { for (dep_generic_func, dep_variant) in deps.iter() {
if !(dep_generic_func == &dep.0 && dep_variant == &dep.1) { if !(dep_generic_func == &dep.0 && dep_variant == &dep.1) {
let remove_index = sorted_dep_vec.retain(|(generic_func, variant)| {
sorted_dep_vec.iter().position(|(generic_func, variant)| { !(generic_func == dep_generic_func && variant == dep_variant)
generic_func == dep_generic_func && variant == dep_variant
}); });
if let Some(index) = remove_index {
sorted_dep_vec.remove(index);
}
deps_vec.insert(0, (dep_generic_func.clone(), dep_variant.clone())); deps_vec.insert(0, (dep_generic_func.clone(), dep_variant.clone()));
} }
} }