From 3daa6bf547fe3f8dc3de5113d9becb1f9d01a669 Mon Sep 17 00:00:00 2001 From: Ryan Jones-Ward Date: Wed, 5 Feb 2025 17:33:59 +0000 Subject: [PATCH] Avoid cloning unless absolutely necesary. --- redox-core/src/parsing/asm_parser.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/redox-core/src/parsing/asm_parser.rs b/redox-core/src/parsing/asm_parser.rs index 1ed7ecf..146bca0 100644 --- a/redox-core/src/parsing/asm_parser.rs +++ b/redox-core/src/parsing/asm_parser.rs @@ -124,7 +124,7 @@ pub struct AsmParser<'a> { pub parsed_data_declarations: Vec, } -impl<'a> AsmParser<'a> { +impl AsmParser<'_> { pub fn new() -> Self { Self { hints: InstructionHints::new(), @@ -217,12 +217,11 @@ impl<'a> AsmParser<'a> { let mut argument_hints = Vec::with_capacity(10); let mut label = None; - let shortlist: Vec = self + let shortlist: Vec<&InstructionLookup<'_>> = self .hints .hints .iter() .filter(|h| h.names.contains(&name.as_str())) - .cloned() .collect(); assert!( @@ -363,7 +362,7 @@ impl<'a> AsmParser<'a> { .multi_cartesian_product() .collect_vec(); - let mut possible_matches: Vec<&InstructionLookup<'a>> = if !arguments.is_empty() { + let mut possible_matches: Vec<&&InstructionLookup<'_>> = if !arguments.is_empty() { shortlist .iter() .filter(|sl| arg_permutations.iter().any(|perm| sl.args == *perm))