Commit Graph

2 Commits

Author SHA1 Message Date
Zoltan Somogyi
fdd141bf77 Clean up the tests in the other test directories.
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.
2015-02-16 12:32:18 +11:00
Mark Brown
2e96abca67 Fix a couple of bugs relating to the use of functional dependencies and
Estimated hours taken: 20
Branches: main

Fix a couple of bugs relating to the use of functional dependencies and
existential types.

compiler/check_typeclass.m:
	Include type variables occurring in instance constraints and method
	constraints in the tvarset created for instance methods.  Previously
	only type variables occurring in the arguments were included, but
	with functional dependencies it is possible that some type variables
	appear in the constraints but not in the arguments.

	Rename a variable to be more accurate.

compiler/polymorphism.m:
	When producing typeclass_infos for existential constraints use the
	constraints from the constraint map (if available), which may have
	been improved during typechecking.

	Use the constraints and known instance tvars to calculate the
	unconstrained tvars, rather than trying to figure them out from the
	contents of the rtti_varmaps.

compiler/clause_to_proc.m:
	When introducing exists_cast goals, use the constraints from the
	head instead of the constraints already in the rtti_varmaps.  The
	constraints in the head represent the external view, which is what
	we want for the introduced variables.

	Ensure that all type variables in the external view have locations
	recorded in the rtti_varmaps.

	Update a comment.

compiler/prog_type.m:
	Export a predicate for getting all the type variables occurring in
	prog_constraints.

tests/valid/Mmakefile:
tests/valid/exists_fundeps.m:
tests/valid/exists_fundeps_2.m:
tests/valid/exists_fundeps_3.m:
	New test cases.
2005-11-22 08:41:36 +00:00