From: Mark Thom Date: Sat, 13 Aug 2022 16:14:37 +0000 (-0600) Subject: fail on non-list solutions in setof/3 (#1553) X-Git-Tag: v0.9.1^2~42 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=b51460a59aec5dd1eb2fc2e0eadafd3e3fb6208d;p=scryer-prolog.git fail on non-list solutions in setof/3 (#1553) --- diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index dd7fb547..536f0d67 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -818,7 +818,8 @@ bagof(Template, Goal, Solution) :- :- non_counted_backtracking iterate_variants_and_sort/3. iterate_variants_and_sort([V-Solution0|GroupSolutions], V, Solution) :- - sort(Solution0, Solution), + sort(Solution0, Solution1), + Solution1 = Solution, ( GroupSolutions == [] -> ! ; true ). diff --git a/tests/scryer/issues.rs b/tests/scryer/issues.rs index 9f22bfc8..af22252a 100644 --- a/tests/scryer/issues.rs +++ b/tests/scryer/issues.rs @@ -155,7 +155,7 @@ fn ignored_constraint() { run_top_level_test_no_args( "use_module(library(freeze)), freeze(X,false), X \\=a.\n\ halt.", - " freeze:freeze(X,user:false).\n", + " freeze:freeze(X,false).\n", ); }