From: Nicolas Luck Date: Fri, 21 Jul 2023 22:32:24 +0000 (+0200) Subject: Dedupe machine results X-Git-Tag: remove^2~52 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=9fd6e18d595c2516eac60626974baea81c23cbfb;p=scryer-prolog.git Dedupe machine results --- diff --git a/src/machine/lib_machine.rs b/src/machine/lib_machine.rs index 1dfdd2b2..050c883b 100644 --- a/src/machine/lib_machine.rs +++ b/src/machine/lib_machine.rs @@ -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::>() + .iter() + .cloned() + .collect::>() + .join("\n"); Ok(output .split(";") .map(|s| s.trim())