Files
mercury/tests/invalid_nodepend/duplicate_modes.err_exp
Zoltan Somogyi 41d133b8ad Update the "no export" criteria and message.
compiler/check_module_interface.m:
    Generate a "this module does not export anything" warning for modules
    that contain only single include_module declaration, since such modules
    could be deleted with no effect.

    Change the warning message to list every kind of declaration/definition
    that does not depend on the presence of other kinds of declarations or
    definitions.

deep_profiler/Mercury.options:
    Shut up this warning for mdprof_fb, since right now, it contains
    only a single include_module, even it is designed to later contain more.

tests/invalid/empty_interface.err_exp:
tests/invalid/typeclass_missing_det_3.err_exp:
tests/invalid_nodepend/bigtest.err_exp:
tests/invalid_nodepend/duplicate_modes.err_exp:
tests/invalid_nodepend/errors2.err_exp:
tests/invalid_nodepend/no_exports.err_exp:
tests/invalid_nodepend/prog_io_erroneous.err_exp:
tests/invalid_nodepend/typeclass_test_11.err_exp:
tests/invalid_nodepend/vars_in_wrong_places.err_exp:
    Expect the updated wording of the warning message.
2022-04-05 10:32:10 +10:00

32 lines
2.0 KiB
Plaintext

duplicate_modes.m:005: Warning: the interface of module `duplicate_modes' does
duplicate_modes.m:005: not export anything.
duplicate_modes.m:005: To be useful, a module should export something. A file
duplicate_modes.m:005: should contain at least one declaration other than
duplicate_modes.m:005: `:- import_module' in its interface section(s). This
duplicate_modes.m:005: would normally be a `:- pred' or `:- func'
duplicate_modes.m:005: declaration, or a `:- type', `:- inst', `:- mode',
duplicate_modes.m:005: `:- typeclass' or `:- instance' definition.
duplicate_modes.m:007: Error: module `duplicate_modes' should start with either
duplicate_modes.m:007: an `:- interface' or an `:- implementation'
duplicate_modes.m:007: declaration.
duplicate_modes.m:007: The following assumes that the missing declaration is
duplicate_modes.m:007: an `:- implementation' declaration.
duplicate_modes.m:012: In mode declarations for predicate
duplicate_modes.m:012: `duplicate_modes.q'/2:
duplicate_modes.m:012: error: duplicate mode declaration.
duplicate_modes.m:012: Modes `q(in, out) is det' and `q((ground >> ground),
duplicate_modes.m:012: (free >> ground)) is det' are indistinguishable.
duplicate_modes.m:013: Here is the conflicting mode declaration.
duplicate_modes.m:012: In mode declarations for predicate
duplicate_modes.m:012: `duplicate_modes.q'/2:
duplicate_modes.m:012: error: duplicate mode declaration.
duplicate_modes.m:012: Modes `q(in, out) is det' and `q((ground >> ground),
duplicate_modes.m:012: (free >> ground)) is det' are indistinguishable.
duplicate_modes.m:014: Here is the conflicting mode declaration.
duplicate_modes.m:018: In mode declarations for predicate
duplicate_modes.m:018: `duplicate_modes.r'/2:
duplicate_modes.m:018: error: duplicate mode declaration.
duplicate_modes.m:018: Modes `r(in, in) is semidet' and `r(in, in) is det'
duplicate_modes.m:018: are indistinguishable.
duplicate_modes.m:019: Here is the conflicting mode declaration.