fix attributed variables bug causing weighted_maximum/3 example to omit a variable binding

This commit is contained in:
Mark Thom
2019-10-20 14:50:46 -06:00
parent 24e5e39c28
commit 1b1879a6fa
9 changed files with 44 additions and 26 deletions

View File

@@ -1112,12 +1112,12 @@ impl MachineState {
match self.p {
CodePtr::VerifyAttrInterrupt(_) => {
self.p = CodePtr::Local(self.attr_var_init.cp);
self.p = CodePtr::Local(self.attr_var_init.cp);
let instigating_p = CodePtr::Local(self.attr_var_init.instigating_p);
let instigating_instr = code_repo.lookup_instr(false, &instigating_p).unwrap();
if instigating_instr.as_ref().is_head_instr() {
if !instigating_instr.as_ref().is_head_instr() {
let cp = self.p.local();
self.run_verify_attr_interrupt(cp);
} else if !self.verify_attr_stepper(indices, policies, code_repo, prolog_stream) {