Files
mercury/tests/invalid/user_field_access_decl_override.err_exp
Zoltan Somogyi 209c546a77 Explain the components of determinism error msgs.
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.
2021-08-27 21:57:01 +10:00

31 lines
2.0 KiB
Plaintext

user_field_access_decl_override.m:020: In `f1'(in) = out:
user_field_access_decl_override.m:020: warning: determinism declaration could
user_field_access_decl_override.m:020: be tighter.
user_field_access_decl_override.m:020: Declared `semidet', inferred `det'.
user_field_access_decl_override.m:021: In `f1 :='(in, in) = out:
user_field_access_decl_override.m:021: warning: determinism declaration could
user_field_access_decl_override.m:021: be tighter.
user_field_access_decl_override.m:021: Declared `semidet', inferred `det'.
user_field_access_decl_override.m:023: In `get_foo_f1'(in) = out:
user_field_access_decl_override.m:023: error: determinism declaration not
user_field_access_decl_override.m:023: satisfied.
user_field_access_decl_override.m:023: Declared `det', inferred `semidet'.
user_field_access_decl_override.m:023: The reasons for the difference are the
user_field_access_decl_override.m:023: following.
user_field_access_decl_override.m:028: Call to
user_field_access_decl_override.m:028: `user_field_access_decl_override.f1'(in)
user_field_access_decl_override.m:028: = out can fail.
user_field_access_decl_override.m:028: In unification of `X' and `f1(Foo)':
user_field_access_decl_override.m:030: In `set_foo_f1'(in, in, out):
user_field_access_decl_override.m:030: error: determinism declaration not
user_field_access_decl_override.m:030: satisfied.
user_field_access_decl_override.m:030: Declared `det', inferred `semidet'.
user_field_access_decl_override.m:030: The reasons for the difference are the
user_field_access_decl_override.m:030: following.
user_field_access_decl_override.m:035: Call to
user_field_access_decl_override.m:035: `user_field_access_decl_override.f1
user_field_access_decl_override.m:035: :='(in, in) = out can fail.
user_field_access_decl_override.m:035: In unification of `STATE_VARIABLE_Foo'
user_field_access_decl_override.m:035: and `'f1 :='(STATE_VARIABLE_Foo_0,
user_field_access_decl_override.m:035: X)':