Merge branch 'bug-fixes'

This commit is contained in:
Stephen Chung
2021-09-27 10:34:46 +08:00
3 changed files with 63 additions and 6 deletions

View File

@@ -1506,6 +1506,7 @@ impl Engine {
}
_ => Err(err),
},
// Assume getters are always pure
|(v, _)| Ok((v, false)),
)
}
@@ -1559,7 +1560,9 @@ impl Engine {
let hash_set = FnCallHashes::from_native(*hash_set);
let mut arg_values = [target.as_mut(), &mut Default::default()];
let args = &mut arg_values[..1];
let (mut val, updated) = self
// Assume getters are always pure
let (mut val, _) = self
.exec_fn_call(
mods, state, lib, getter, hash_get, args, is_ref_mut, true,
*pos, None, level,
@@ -1603,7 +1606,7 @@ impl Engine {
.map_err(|err| err.fill_position(*x_pos))?;
// Feed the value back via a setter just in case it has been updated
if updated || may_be_changed {
if may_be_changed {
// Re-use args because the first &mut parameter will not be consumed
let mut arg_values = [target.as_mut(), val];
let args = &mut arg_values;