Commit Graph

3 Commits

Author SHA1 Message Date
Julien Fischer
a0e5667af5 Do not allow non-abstract instance declarations to occur in module
For review by anyone.

Estimated hours taken: 10
Branches: main, release

Do not allow non-abstract instance declarations to occur in module
interfaces.  Emit an error message if this occurs.

Fix the formatting of some error messages regarding typeclasses
and instances.

compiler/check_typeclass.m:
	Use error_util to generate the error messages from this module.
	This fixes a problem where the printing of sym_names and arities
	differed in the same error message.

compiler/error_util.m:
	Add a format component for the pred_or_func type.
	Add the equivalence type format_components.

compiler/make_hlds.m:
	Make the format of some error messages concerning typeclasses
	more consistent.

compiler/modules.m:
	Check for non-abstract instance declarations in module interfaces
	and emit an error message if they do.

tests/invalid/Mmakefile:
tests/invalid/instance_bug.m:
tests/invalid/instance_bug.err_exp:
 	Test case for the above.

tests/hard_coded/typeclasses/*:
tests/invalid/*:
tests/recompilation/*:
tests/valid/*:
	Update test cases as necessary.
2005-04-12 07:58:24 +00:00
David Jeffery
e4fba268ec Fix test case... the compiler was getting tripped up by a different bug than
Estimated hours taken: 1/4

Fix test case... the compiler was getting tripped up by a different bug than
the one this was meant to be testing.

ts/valid/instance_superclass.m:
	Fixed so it doesn't have an unbound type variable.
	(Actually, I don't really see why the compiler thinks it is unbound).
1998-06-18 04:11:45 +00:00
David Jeffery
7e8fbfcb1a New typeclass test case.
Estimated hours taken: 1/4

New typeclass test case.

tests/valid/instance_superclass.m:
	New test case.
tests/valid/Mmakefile:
	Updated to run the new test.
1998-06-18 04:03:23 +00:00