let index = target_pos - 1;
- if let Some(index_loc) = skeleton.clauses[index]
+ let index = if let Some(index_loc) = skeleton.clauses[index]
.opt_arg_index_key
.switch_on_term_loc()
{
}
} else {
index
- }
+ };
+
+ index.clamp(0, skeleton.clauses.len() - 1)
}
fn derelictize_try_me_else(
if !code_index.is_undefined() && !code_index.is_dynamic_undefined() {
let old_index_ptr = code_index.replace(IndexPtr::undefined());
- self.payload
- .retraction_info
- .push_record(RetractionRecord::ReplacedModulePredicate(
- module_name,
- *key,
- old_index_ptr,
- ));
+ self.payload.retraction_info.push_record(
+ RetractionRecord::ReplacedModulePredicate(module_name, *key, old_index_ptr),
+ );
}
}