mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-23 13:23:47 +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
368 B
Plaintext
7 lines
368 B
Plaintext
magicbox.m:038: In `arguments_handler'(di, uo, out):
|
|
magicbox.m:038: error: determinism declaration not satisfied.
|
|
magicbox.m:038: Declared `cc_multi', inferred `cc_nondet'.
|
|
magicbox.m:038: The reasons for the difference are the following.
|
|
magicbox.m:055: Call to `string.to_int'(in, out) can fail.
|
|
magicbox.m:061: Call to `string.to_int'(in, out) can fail.
|