From: Bennet Bleßmann Date: Thu, 31 Jul 2025 19:43:59 +0000 (+0200) Subject: replace single non-wildcard pattern match with if let X-Git-Tag: v0.10.0~35^2~1^2~5 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=876685191960eb810c109014df1ee918032b8a8f;p=scryer-prolog.git replace single non-wildcard pattern match with if let --- diff --git a/src/machine/load_state.rs b/src/machine/load_state.rs index ae572aff..89c50153 100644 --- a/src/machine/load_state.rs +++ b/src/machine/load_state.rs @@ -546,27 +546,21 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { for export in removed_module.module_decl.exports.iter() { match export { ModuleExport::PredicateKey(ref key) => { - match ( + if let (Some(module_code_idx), Some(target_code_idx)) = ( removed_module.code_dir.get(key).cloned(), code_dir.get_mut(key).cloned(), ) { - (Some(module_code_idx), Some(target_code_idx)) => { - let code_index_tbl = - &mut LS::machine_st(payload).arena.code_index_tbl; - let module_code_ptr = - code_index_tbl.get_entry(module_code_idx.into()); - let target_code_ptr = - code_index_tbl.get_entry(target_code_idx.into()); - - if module_code_ptr == target_code_ptr { - let old_index_ptr = target_code_idx - .replace(code_index_tbl, IndexPtr::undefined()); - payload - .retraction_info - .push_record(predicate_retractor(*key, old_index_ptr)); - } + let code_index_tbl = &mut LS::machine_st(payload).arena.code_index_tbl; + let module_code_ptr = code_index_tbl.get_entry(module_code_idx.into()); + let target_code_ptr = code_index_tbl.get_entry(target_code_idx.into()); + + if module_code_ptr == target_code_ptr { + let old_index_ptr = + target_code_idx.replace(code_index_tbl, IndexPtr::undefined()); + payload + .retraction_info + .push_record(predicate_retractor(*key, old_index_ptr)); } - _ => {} } } ModuleExport::OpDecl(op_decl) => {