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) => {