tests/invalid/*.{m,err_exp}:
tests/misc_tests/*.m:
tests/mmc_make/*.m:
tests/par_conj/*.m:
tests/purity/*.m:
tests/stm/*.m:
tests/string_format/*.m:
tests/structure_reuse/*.m:
tests/submodules/*.m:
tests/tabling/*.m:
tests/term/*.m:
tests/trailing/*.m:
tests/typeclasses/*.m:
tests/valid/*.m:
tests/warnings/*.{m,exp}:
Make these tests use four-space indentation, and ensure that
each module is imported on its own line. (I intend to use the latter
to figure out which subdirectories' tests can be executed in parallel.)
These changes usually move code to different lines. For the tests
that check compiler error messages, expect the new line numbers.
browser/cterm.m:
browser/tree234_cc.m:
Import only one module per line.
tests/hard_coded/boyer.m:
Fix something I missed.
Estimated hours taken: 2
Implement Fergus' suggestion for deciding when to add modes
for predicates with no arguments.
The following declarations result in a mode being added:
:- pred foo is semidet.
:- pred foo.
:- mode foo.
:- pred foo.
:- mode foo is semidet.
This declaration doesn't:
:- pred foo.
compiler/make_hlds.m:
Remove code to add a default mode for a zero arity predicate
with only a pred declaration with no determinism.
tests/invalid/bigtest.err_exp:
Add a `no modes for predicate ...' error.
tests/invalid/missing_det_decls.m:
tests/invalid/missing_det_decls.err_exp:
Add missing mode declarations.
tests/valid/Mmakefile:
Pass --infer-modes to mmc when compiling zero_arity.m.
tests/valid/zero_arity.m:
Add tests for each of the declaration combinations listed above.
tests/valid/det_inference.m:
Add missing mode declarations.