mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-05-01 17:24:34 +00:00
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.
16 lines
919 B
Plaintext
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'.
|