update prolog_parser version, correct atom_chars/2 (#379)
This commit is contained in:
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -634,9 +634,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prolog_parser"
|
name = "prolog_parser"
|
||||||
version = "0.8.59"
|
version = "0.8.60"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "029a4682cf40923b8eb05c4b943d1d6be73775e7bf80bcb0866b5ef29abb0802"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lexical",
|
"lexical",
|
||||||
"num-rug-adapter",
|
"num-rug-adapter",
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ libc = "0.2.62"
|
|||||||
nix = "0.15.0"
|
nix = "0.15.0"
|
||||||
num-rug-adapter = { optional = true, version = "0.1.3" }
|
num-rug-adapter = { optional = true, version = "0.1.3" }
|
||||||
ordered-float = "0.5.0"
|
ordered-float = "0.5.0"
|
||||||
prolog_parser = { version = "0.8.59", default-features = false }
|
prolog_parser = { version = "0.8.60", default-features = false }
|
||||||
ref_thread_local = "0.0.0"
|
ref_thread_local = "0.0.0"
|
||||||
rug = { version = "1.4.0", optional = true }
|
rug = { version = "1.4.0", optional = true }
|
||||||
rustyline = "6.0.0"
|
rustyline = "6.0.0"
|
||||||
|
|||||||
@@ -830,19 +830,10 @@ impl MachineState {
|
|||||||
}
|
}
|
||||||
Addr::Con(h) if self.heap.atom_at(h) => {
|
Addr::Con(h) if self.heap.atom_at(h) => {
|
||||||
if let HeapCellValue::Atom(name, _) = self.heap.clone(h) {
|
if let HeapCellValue::Atom(name, _) = self.heap.clone(h) {
|
||||||
let iter = name.as_str().chars().map(|c| Addr::Char(c));
|
let s = self.heap.put_complete_string(name.as_str());
|
||||||
let list_of_chars = Addr::HeapCell(self.heap.to_list(iter));
|
|
||||||
|
|
||||||
let a2 = self[temp_v!(2)];
|
let a2 = self[temp_v!(2)];
|
||||||
|
|
||||||
match self.store(self.deref(a2)) {
|
self.unify(s, a2);
|
||||||
Addr::PStrLocation(..) => {
|
|
||||||
self.fail = true;
|
|
||||||
}
|
|
||||||
a2 => {
|
|
||||||
self.unify(a2, list_of_chars);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
unreachable!()
|
unreachable!()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user