move forall/2 to non_iso, correct test cases.

This commit is contained in:
Mark Thom
2019-04-03 18:12:36 -06:00
parent 9ad809680d
commit 535a6c17e9
3 changed files with 8 additions and 7 deletions

View File

@@ -1801,9 +1801,11 @@ fn test_queries_on_builtins()
assert_prolog_success!(&mut wam, "?- setof(X, Y^((X = 1 ; Y = 1) ; (X = 2, Y = 2)), S).",
[["S = [_240, 1, 2]", "X = _0", "Y = _5"]]);
assert_prolog_success!(&mut wam, "?- setof(X, (exists(U,V) ^ member(X, [V,U,f(U),f(V)])), [a,b,f(b),f(a)]).");
assert_prolog_failure!(&mut wam, "?- forall(true, fail).");
assert_prolog_success!(&mut wam, "?- forall(fail, true)");
submit(&mut wam, ":- use_module(library(non_iso)).");
assert_prolog_failure!(&mut wam, "?- forall(true, false).");
assert_prolog_success!(&mut wam, "?- forall(false, true).");
assert_prolog_success!(&mut wam, "?- catch(forall(_, true), error(instantiation_error, _), true).");
assert_prolog_success!(&mut wam, "?- catch(forall(true, _), error(instantiation_error, _), true).");
assert_prolog_success!(&mut wam, "?- catch(forall(1, true), error(type_error(callable, 1), _), true).");