mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-18 02:43:40 +00:00
compiler/det_report.m:
When we report that a predicate does not satisfy the requirements
of its determinism declaration, we follow that statement with a list
of statements about pieces of code that all contribute to that mismatch.
However, a thread on m-users last month showed that some users did not
make that connection. So add an explicit statement to that effect.
tests/invalid/bug150.err_exp:
tests/invalid/bug496.err_exp:
tests/invalid/det_atomic_goal_msgs.err_exp:
tests/invalid/det_errors.err_exp:
tests/invalid/magicbox.err_exp:
tests/invalid/not_a_switch.err_exp:
tests/invalid/try_detism.err_exp:
tests/invalid/user_field_access_decl_override.err_exp:
Expect updated error messages.
7 lines
341 B
Plaintext
7 lines
341 B
Plaintext
bug150.m:014: In `car'(in) = out:
|
|
bug150.m:014: error: implicit determinism declaration not satisfied.
|
|
bug150.m:014: Declared `det', inferred `semidet'.
|
|
bug150.m:014: The reason for the difference is the following.
|
|
bug150.m:018: In argument 1 of clause head:
|
|
bug150.m:018: unification of `HeadVar__1' and `list.[H | _T]' can fail.
|