]> Repositorios git - scryer-prolog.git/commitdiff
replace single non-wildcard pattern match with if let
authorBennet Bleßmann <[email protected]>
Thu, 31 Jul 2025 19:43:59 +0000 (21:43 +0200)
committerBennet Bleßmann <[email protected]>
Thu, 31 Jul 2025 19:47:09 +0000 (21:47 +0200)
src/machine/load_state.rs

index ae572aff4e0f37406d357f4e3061e5201e713891..89c50153b78abc9498e1f0e7656a142e69d784bc 100644 (file)
@@ -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) => {