mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-18 10:53:40 +00:00
compiler/det_analysis.m:
Carve three separate predicates out of det_infer_proc. Besides improving
readability, one of the new predicates should be useful in the fix for
github issue #118.
Factor out the common initial and final parts of two related but
different long error messages.
Improve the wording of some error messages.
Replace two separate traversals of the list of pragma exported procedures
with one.
tests/invalid/ho_unique_error.err_exp:
tests/invalid/mostly_uniq1.err_exp:
tests/invalid/mostly_uniq2.err_exp:
tests/invalid/one_member.err_exp:
Expect the updated wording in error messages.
27 lines
1.7 KiB
Plaintext
27 lines
1.7 KiB
Plaintext
one_member.m:046: Error: this `arbitrary' scope is not nested inside a
|
|
one_member.m:046: `promise_equivalent_solution_sets' scope.
|
|
one_member.m:049: In `one_member2'(in, out):
|
|
one_member.m:049: warning: determinism declaration could be tighter.
|
|
one_member.m:049: Declared `nondet', inferred `semidet'.
|
|
one_member.m:053: Error: the `arbitrary' goal lists an extra variable: Tree.
|
|
one_member.m:053: Error: this `arbitrary' scope and the
|
|
one_member.m:053: `promise_equivalent_solution_sets' scope it is nested
|
|
one_member.m:053: inside overlap on the variable Item.
|
|
one_member.m:052: This is the outer `promise_equivalent_solution_sets' scope.
|
|
one_member.m:054: Error: unification for non-canonical type
|
|
one_member.m:054: `one_member.set_ctree234'/1 occurs in a context which
|
|
one_member.m:054: requires all solutions.
|
|
one_member.m:054: Since the type has a user-defined equality predicate, I
|
|
one_member.m:054: must presume that there is more than one possible concrete
|
|
one_member.m:054: representation for each abstract value of this type. The
|
|
one_member.m:054: results of this unification might depend on the choice of
|
|
one_member.m:054: concrete representation. Finding all possible solutions to
|
|
one_member.m:054: this unification would require backtracking over all
|
|
one_member.m:054: possible representations, but I am not going to do that
|
|
one_member.m:054: implicitly. (If that is really what you want, you must do
|
|
one_member.m:054: it explicitly.)
|
|
one_member.m:055: Call to do_one_member can fail.
|
|
one_member.m:063: Error: `promise_equivalent_solution_sets' scope is nested
|
|
one_member.m:063: inside another.
|
|
one_member.m:062: This is the outer `promise_equivalent_solution_sets' scope.
|