Remove unnecessary mutability
This commit is contained in:
@@ -143,7 +143,7 @@ pub fn compile_term(wam: &mut Machine, packet: TopLevelPacket) -> EvalSession
|
|||||||
match packet {
|
match packet {
|
||||||
TopLevelPacket::Query(terms, queue) =>
|
TopLevelPacket::Query(terms, queue) =>
|
||||||
match compile_query(terms, queue, wam.machine_flags()) {
|
match compile_query(terms, queue, wam.machine_flags()) {
|
||||||
Ok((mut code, vars)) => wam.submit_query(code, vars),
|
Ok((code, vars)) => wam.submit_query(code, vars),
|
||||||
Err(e) => EvalSession::from(e)
|
Err(e) => EvalSession::from(e)
|
||||||
},
|
},
|
||||||
TopLevelPacket::Decl(TopLevel::Declaration(decl), _) => {
|
TopLevelPacket::Decl(TopLevel::Declaration(decl), _) => {
|
||||||
|
|||||||
@@ -691,7 +691,7 @@ pub(crate) trait CallPolicy: Any {
|
|||||||
return_from_clause!(machine_st.last_call, machine_st)
|
return_from_clause!(machine_st.last_call, machine_st)
|
||||||
},
|
},
|
||||||
&BuiltInClauseType::PartialString => {
|
&BuiltInClauseType::PartialString => {
|
||||||
let mut s = machine_st.try_string_list(temp_v!(1))?;
|
let s = machine_st.try_string_list(temp_v!(1))?;
|
||||||
let a2 = machine_st[temp_v!(2)].clone();
|
let a2 = machine_st[temp_v!(2)].clone();
|
||||||
|
|
||||||
s.set_expandable(true);
|
s.set_expandable(true);
|
||||||
@@ -719,7 +719,7 @@ pub(crate) trait CallPolicy: Any {
|
|||||||
machine_st.check_keysort_errors()?;
|
machine_st.check_keysort_errors()?;
|
||||||
|
|
||||||
let stub = MachineError::functor_stub(clause_name!("keysort"), 2);
|
let stub = MachineError::functor_stub(clause_name!("keysort"), 2);
|
||||||
let mut list = machine_st.try_from_list(temp_v!(1), stub)?;
|
let list = machine_st.try_from_list(temp_v!(1), stub)?;
|
||||||
let mut key_pairs = Vec::new();
|
let mut key_pairs = Vec::new();
|
||||||
|
|
||||||
for val in list {
|
for val in list {
|
||||||
|
|||||||
@@ -430,7 +430,7 @@ impl Machine {
|
|||||||
EvalSession::InitialQuerySuccess(alloc_locs) =>
|
EvalSession::InitialQuerySuccess(alloc_locs) =>
|
||||||
loop {
|
loop {
|
||||||
let bindings = {
|
let bindings = {
|
||||||
let mut output = PrinterOutputter::new();
|
let output = PrinterOutputter::new();
|
||||||
self.toplevel_heap_view(output).result()
|
self.toplevel_heap_view(output).result()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ pub trait SubModuleUser
|
|||||||
|
|
||||||
if let Some(code_data) = submodule.code_dir.get(&(name.clone(), arity)) {
|
if let Some(code_data) = submodule.code_dir.get(&(name.clone(), arity)) {
|
||||||
let name = name.with_table(submodule.atom_tbl.clone());
|
let name = name.with_table(submodule.atom_tbl.clone());
|
||||||
let mut atom_tbl = self.atom_tbl();
|
let atom_tbl = self.atom_tbl();
|
||||||
|
|
||||||
atom_tbl.borrow_mut().insert(name.to_rc());
|
atom_tbl.borrow_mut().insert(name.to_rc());
|
||||||
|
|
||||||
|
|||||||
@@ -1079,7 +1079,7 @@ impl MachineState {
|
|||||||
self.truncate_if_no_lifted_heap_diff(|_| Addr::Con(Constant::EmptyList)),
|
self.truncate_if_no_lifted_heap_diff(|_| Addr::Con(Constant::EmptyList)),
|
||||||
&SystemClauseType::GetAttributedVariableList => {
|
&SystemClauseType::GetAttributedVariableList => {
|
||||||
let attr_var = self.store(self.deref(self[temp_v!(1)].clone()));
|
let attr_var = self.store(self.deref(self[temp_v!(1)].clone()));
|
||||||
let mut attr_var_list = match attr_var {
|
let attr_var_list = match attr_var {
|
||||||
Addr::AttrVar(h) => h + 1,
|
Addr::AttrVar(h) => h + 1,
|
||||||
attr_var @ Addr::HeapCell(_) | attr_var @ Addr::StackCell(..) => {
|
attr_var @ Addr::HeapCell(_) | attr_var @ Addr::StackCell(..) => {
|
||||||
// create an AttrVar in the heap.
|
// create an AttrVar in the heap.
|
||||||
@@ -1322,7 +1322,7 @@ impl MachineState {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
&SystemClauseType::RedoAttrVarBindings => {
|
&SystemClauseType::RedoAttrVarBindings => {
|
||||||
let mut bindings = mem::replace(&mut self.attr_var_init.bindings, vec![]);
|
let bindings = mem::replace(&mut self.attr_var_init.bindings, vec![]);
|
||||||
|
|
||||||
for (h, addr) in bindings {
|
for (h, addr) in bindings {
|
||||||
self.heap[h] = HeapCellValue::Addr(addr);
|
self.heap[h] = HeapCellValue::Addr(addr);
|
||||||
@@ -1707,7 +1707,7 @@ impl MachineState {
|
|||||||
return Err(err)
|
return Err(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut output = printer.print(addr);
|
let output = printer.print(addr);
|
||||||
print!("{}", output.result());
|
print!("{}", output.result());
|
||||||
stdout().flush().unwrap();
|
stdout().flush().unwrap();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ fn flatten_hook(mut term: Term) -> Term {
|
|||||||
_ => None
|
_ => None
|
||||||
};
|
};
|
||||||
|
|
||||||
if let Some(mut inner_term) = inner_term {
|
if let Some(inner_term) = inner_term {
|
||||||
mem::swap(&mut terms[0], &mut Box::new(inner_term));
|
mem::swap(&mut terms[0], &mut Box::new(inner_term));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user