Files
mercury/tests/invalid/impure_method_impl.err_exp
Zoltan Somogyi 9187c0d911 Bring these modules up to date with our current style guidelines.
Estimated hours taken: 8
Branches: main

compiler/hlds_out.m:
compiler/llds_out.m:
	Bring these modules up to date with our current style guidelines.
	Use state variables in the few places where we weren't doing so
	already.

compiler/purity.m:
	Bring this module up to date with our current style guidelines.
	Use the predicates of error_util and hlds_error_util to print error
	messages. Be more consistent in using quotations. Fix indentation.

compiler/error_util.m:
	Add a long needed facility: the ability to glue some punctuation
	at the end of a previous word.

	Add a mechanism for turning a list of components into a string,
	instead of printing them out.

	Make the interface of this module more consistent by making
	list_to_pieces a function just like component_lists_to_pieces.

compiler/hlds_error_util.m:
	Change the way we describe predicates and procedures. Instead of
	returning their descriptions as single fixed strings that error_util
	can't break up across lines, return them as separate components that
	can be split across lines. This makes error output look nicer.

	Fix a mismatch between what were supposed to be corresponding pieces
	of code in hlds_error_util and hlds_out.

	Turn the appropriate predicates into functions.

compiler/*.m:
	Conform to the changed interfaces of some of the above modules.

tests/invalid/*.err_exp:
tests/invalid/purity/*.err_exp:
tests/recompilation/*.err_exp:
tests/warnings/*.exp:
	Update the expected outputs for the better looking error messages we
	now generate.
2005-01-17 05:01:48 +00:00

16 lines
919 B
Plaintext

impure_method_impl.m:017: In call to impure predicate
impure_method_impl.m:017: `impure_method_impl.foo_m2/2':
impure_method_impl.m:017: purity error: call must be preceded by `impure'
impure_method_impl.m:017: indicator.
impure_method_impl.m:017: In type class method implementation:
impure_method_impl.m:017: purity error: predicate is impure.
impure_method_impl.m:017: It must be declared `impure' or promised semipure.
impure_method_impl.m:016: In call to semipure predicate
impure_method_impl.m:016: `impure_method_impl.foo_m1/2':
impure_method_impl.m:016: purity error: call must be preceded by `semipure'
impure_method_impl.m:016: indicator.
impure_method_impl.m:016: In type class method implementation:
impure_method_impl.m:016: purity error: predicate is semipure.
impure_method_impl.m:016: It must be declared `semipure' or promised pure.
For more information, try recompiling with `-E'.