Dedupe machine results

This commit is contained in:
Nicolas Luck
2023-07-22 00:32:24 +02:00
parent d8a9475460
commit 9fd6e18d59

View File

@@ -1,3 +1,5 @@
use std::collections::HashSet;
use super::{Machine, MachineConfig, QueryResult, QueryResolution, QueryResolutionLine, Atom};
impl Machine {
@@ -16,6 +18,14 @@ impl Machine {
if output.starts_with("error(") {
Err(output)
} else {
// Remove duplicate lines
let output = output
.lines()
.collect::<HashSet<&str>>()
.iter()
.cloned()
.collect::<Vec<&str>>()
.join("\n");
Ok(output
.split(";")
.map(|s| s.trim())