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]]
|
||||
name = "prolog_parser"
|
||||
version = "0.8.59"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "029a4682cf40923b8eb05c4b943d1d6be73775e7bf80bcb0866b5ef29abb0802"
|
||||
version = "0.8.60"
|
||||
dependencies = [
|
||||
"lexical",
|
||||
"num-rug-adapter",
|
||||
|
||||
@@ -32,7 +32,7 @@ libc = "0.2.62"
|
||||
nix = "0.15.0"
|
||||
num-rug-adapter = { optional = true, version = "0.1.3" }
|
||||
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"
|
||||
rug = { version = "1.4.0", optional = true }
|
||||
rustyline = "6.0.0"
|
||||
|
||||
@@ -830,19 +830,10 @@ impl MachineState {
|
||||
}
|
||||
Addr::Con(h) if self.heap.atom_at(h) => {
|
||||
if let HeapCellValue::Atom(name, _) = self.heap.clone(h) {
|
||||
let iter = name.as_str().chars().map(|c| Addr::Char(c));
|
||||
let list_of_chars = Addr::HeapCell(self.heap.to_list(iter));
|
||||
|
||||
let s = self.heap.put_complete_string(name.as_str());
|
||||
let a2 = self[temp_v!(2)];
|
||||
|
||||
match self.store(self.deref(a2)) {
|
||||
Addr::PStrLocation(..) => {
|
||||
self.fail = true;
|
||||
}
|
||||
a2 => {
|
||||
self.unify(a2, list_of_chars);
|
||||
}
|
||||
}
|
||||
self.unify(s, a2);
|
||||
} else {
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user