summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Thom <mark.thom@unb.ca>2019-10-16 11:38:33 -0300
committerMark Thom <mark.thom@unb.ca>2019-10-16 11:38:33 -0300
commit42a3bdc35760fe5cd06a2f19a1e81f0ea31e7613 (patch)
treec45e3033e35ab017394298d91c55e9d1ae62745f
parentb6a2e26a4f55d41fd6536468f8e35808eac3e599 (diff)
eliminate lingering attribute goalsv0.8.112
-rw-r--r--Cargo.toml2
-rw-r--r--src/prolog/fixtures.rs2
-rw-r--r--src/prolog/machine/attributed_variables.rs1
3 files changed, 3 insertions, 2 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 3f54571c..3f8f343c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "scryer-prolog"
-version = "0.8.111"
+version = "0.8.112"
authors = ["Mark Thom <markjordanthom@gmail.com>"]
build = "build.rs"
repository = "https://github.com/mthom/scryer-prolog"
diff --git a/src/prolog/fixtures.rs b/src/prolog/fixtures.rs
index 31cc54c5..5decc89c 100644
--- a/src/prolog/fixtures.rs
+++ b/src/prolog/fixtures.rs
@@ -191,7 +191,7 @@ impl<'a> VariableFixtures<'a> {
for term_ref in iter {
if let &TermRef::Var(lvl, cell, ref var) = &term_ref {
- let mut status = self.perm_vars.remove(var).unwrap_or((
+ let mut status = self.perm_vars.swap_remove(var).unwrap_or((
VarStatus::Temp(chunk_num, TempVarData::new(lt_arity)),
Vec::new(),
));
diff --git a/src/prolog/machine/attributed_variables.rs b/src/prolog/machine/attributed_variables.rs
index afba3106..c1af6aab 100644
--- a/src/prolog/machine/attributed_variables.rs
+++ b/src/prolog/machine/attributed_variables.rs
@@ -34,6 +34,7 @@ impl AttrVarInitializer {
pub(super) fn reset(&mut self) {
self.attr_var_queue.clear();
self.bindings.clear();
+ self.attribute_goals.clear();
}
}