add missing default RevJmpBy arm to thread_choice_instr_at_to (prompted by #922)

This commit is contained in:
Mark Thom
2021-05-05 11:16:33 -06:00
parent 533d1ea9ab
commit b968b2c438

View File

@@ -682,6 +682,9 @@ fn thread_choice_instr_at_to(
*o = instr_loc - target_loc; *o = instr_loc - target_loc;
return; return;
} }
&mut Line::Control(ControlInstruction::RevJmpBy(o)) => {
instr_loc -= o;
}
&mut Line::Choice(ChoiceInstruction::DynamicElse(birth, death, ref mut fail)) &mut Line::Choice(ChoiceInstruction::DynamicElse(birth, death, ref mut fail))
if target_loc >= instr_loc => if target_loc >= instr_loc =>
{ {
@@ -733,12 +736,6 @@ fn thread_choice_instr_at_to(
instr_loc += *o; instr_loc += *o;
} }
_ => { _ => {
println!("failing code: \n");
for index in instr_loc - 40..instr_loc + 40 {
println!("{:07} | {}", index, code[index]);
}
unreachable!() unreachable!()
} }
} }