self.mark_var_in_non_callable(var_num, term_loc, vr, code);
temp_v!(arg)
} else {
- match &self.var_data.records[var_num].allocation {
- VarAlloc::Perm(_, PermVarAllocation::Pending) => {
- self.mark_var_in_non_callable(var_num, term_loc, vr, code);
- }
- _ => {}
- }
+ match &self.var_data.records[var_num].allocation {
+ VarAlloc::Perm(_, PermVarAllocation::Pending) => {
+ self.mark_var_in_non_callable(var_num, term_loc, vr, code);
+ }
+ _ => {}
+ }
self.increment_running_count(var_num);
RegType::Perm(p)
for var_num in subsumed_hits {
match &mut self.var_data.records[var_num].allocation {
VarAlloc::Perm(_, ref mut allocation) => {
- if let PermVarAllocation::Done {
+ if let PermVarAllocation::Done {
shallow_safety,
deep_safety,
..
} = allocation
- {
+ {
if !self
.branch_stack
.safety_unneeded_in_branch(shallow_safety, &branch_designator)
branch_occurrences.deep_safety.insert(var_num);
}
}
-
+
*allocation = PermVarAllocation::Pending;
}
_ => unreachable!(),
#[inline(always)]
pub fn get_binding(&self, var_num: usize) -> RegType {
- self.var_data.records[var_num].allocation.as_reg_type()
+ self.var_data.records[var_num].allocation.as_reg_type()
}
pub fn num_perm_vars(&self) -> usize {
}
RegType::Perm(0) => {
let p = self.alloc_perm_var(var_num, term_loc.chunk_num());
- cell.set(VarReg::Norm(RegType::Perm(p)));
+ cell.set(VarReg::Norm(RegType::Perm(p)));
(RegType::Perm(p), true)
}
r @ RegType::Perm(_) => {