From 6a1b2db698e8bec08303629a8442d452196fe2ec Mon Sep 17 00:00:00 2001 From: microproofs Date: Mon, 31 Jul 2023 15:26:38 -0400 Subject: [PATCH] use retain instead of position --- crates/aiken-lang/src/gen_uplc.rs | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/crates/aiken-lang/src/gen_uplc.rs b/crates/aiken-lang/src/gen_uplc.rs index f9b7d469..5985fb1f 100644 --- a/crates/aiken-lang/src/gen_uplc.rs +++ b/crates/aiken-lang/src/gen_uplc.rs @@ -2597,15 +2597,10 @@ impl<'a> CodeGenerator<'a> { if !(dep_generic_func == &generic_func && dep_variant == &variant) { validator_hoistable .insert(0, (dep_generic_func.clone(), dep_variant.clone())); - let remove_index = - sorted_function_vec - .iter() - .position(|(generic_func, variant)| { - generic_func == dep_generic_func && variant == dep_variant - }); - if let Some(index) = remove_index { - sorted_function_vec.remove(index); - } + + sorted_function_vec.retain(|(generic_func, variant)| { + !(generic_func == dep_generic_func && variant == dep_variant) + }); } } } @@ -2781,14 +2776,10 @@ impl<'a> CodeGenerator<'a> { if !params.is_empty() { for (dep_generic_func, dep_variant) in deps.iter() { if !(dep_generic_func == &dep.0 && dep_variant == &dep.1) { - let remove_index = - sorted_dep_vec.iter().position(|(generic_func, variant)| { - generic_func == dep_generic_func && variant == dep_variant - }); + sorted_dep_vec.retain(|(generic_func, 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())); } }