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: 1
My previous bug fix for overloading resolution of field access functions
and constructors didn't work for existentially typed constructors.
compiler/post_typecheck.m:
When checking whether a constructor matches a cons_id
and argument types, make sure the actual argument types
don't bind any of the existentially quantified type
variables of the constructor.
compiler/typecheck.m:
compiler/type_util.m:
Factor out the code to check whether the argument types
of a call subsume the actual argument types into
a new predicate, `type_util__arg_type_list_subsumes'.
tests/valid/Mmakefile:
tests/valid/record_syntax_bug_2.m:
Test case.