Merge branch 'master' into rebis-dev

This commit is contained in:
Mark Thom
2021-02-03 12:00:00 -07:00
3 changed files with 17 additions and 6 deletions

12
Cargo.lock generated
View File

@@ -23,9 +23,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]]
name = "az"
version = "1.0.0"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9bcd47d94aa4eb8c076b50fc61a75020789394ffb9bd74a180b3379130f6569"
checksum = "d84e1d907bfc5795a6addb95ef8666141ee73c8f2f5250ff2a46bf4e4f4aec8a"
[[package]]
name = "base64"
@@ -470,9 +470,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.84"
version = "0.2.85"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cca32fa0182e8c0989459524dc356b8f2b5c10f1b9eb521b7d182c03cf8c5ff"
checksum = "7ccac4b00700875e6a07c6cde370d44d32fa01c5a65cdd2fca6858c479d28bb3"
[[package]]
name = "libsodium-sys"
@@ -1103,9 +1103,9 @@ dependencies = [
[[package]]
name = "ring"
version = "0.16.19"
version = "0.16.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "024a1e66fea74c66c66624ee5622a7ff0e4b73a13b4f5c326ddb50c708944226"
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
dependencies = [
"cc",
"libc",

View File

@@ -11,6 +11,9 @@ keywords = ["prolog", "prolog-interpreter", "prolog-system"]
categories = ["command-line-utilities"]
build = "build.rs"
[workspace]
members = ["crates/prolog_parser"]
[build-dependencies]
indexmap = "1.0.2"

View File

@@ -162,6 +162,14 @@ impl MachineState {
}
fn bind_with_occurs_check(&mut self, r: Ref, addr: Addr) {
if let Ref::StackCell(..) = r {
// local variable optimization -- r cannot occur in the
// data structure bound to addr, so don't bother
// traversing it.
self.bind(r, addr);
return;
}
let mut fail = false;
for addr in self.acyclic_pre_order_iter(addr) {