mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-19 03:13:40 +00:00
compiler/error_msg_inst.m:
Fix a bug that caused the suffix that all paths in two predicates
were supposed to add at the logical end of the constructed pieces
(though it could be followed by some punctuation) to *not* be added
to the constructed pieces on some paths. Since with our current approach,
the suffix for one inst in a list of insts can be the description
of *all the insts following it in the list*, this bug could delete
not just punctuation, but entire insts from the output. This did actually
happen for the invalid/html text case below.
Fix a problem that could cause each inst in a list of insts
to be indented one more level than the previous inst, which can be
very confusing.
Delete the comma from "instname, which expands to ...". When this output
occurs in an argument list, the presence of the comma can make it
harder to recognize where one argument ends and the next argument begins.
Factor out some common code.
Add an XXX noting a problem.
Fix documentation.
compiler/parse_tree_out_inst.m:
Provide two functions for use by error_msg_inst.m.
compiler/prog_mode.m:
Fix a comment.
tests/invalid/html.m:
Fix the description of the problem we are testing for.
tests/invalid/html.err_exp:
Expect the fix for the "omitted insts" bug above.
tests/invalid/bug117.err_exp:
tests/invalid/bug191.err_exp:
tests/invalid/bug415.err_exp:
tests/invalid/char_inst.err_exp:
tests/invalid/coerce_int.err_exp:
tests/invalid/constrained_poly_insts2.err_exp:
tests/invalid/ho_default_func_4.err_exp:
tests/invalid/merge_ground_any.err_exp:
tests/invalid/polymorphic_unification.err_exp:
Do not expect the deleted comma.
17 lines
785 B
Plaintext
17 lines
785 B
Plaintext
ho_default_func_4.m:039: In clause for `baz(in, out)':
|
|
ho_default_func_4.m:039: in call to function `univ.univ'/1:
|
|
ho_default_func_4.m:039: mode error: argument `V_7' and the return value
|
|
ho_default_func_4.m:039: `V_6' have the following insts:
|
|
ho_default_func_4.m:039: /* unique */ (func(
|
|
ho_default_func_4.m:039: in(named inst one
|
|
ho_default_func_4.m:039: which expands to
|
|
ho_default_func_4.m:039: bound(
|
|
ho_default_func_4.m:039: 1
|
|
ho_default_func_4.m:039: )
|
|
ho_default_func_4.m:039: )
|
|
ho_default_func_4.m:039: ) = out is det),
|
|
ho_default_func_4.m:039: free
|
|
ho_default_func_4.m:039: which does not match any of the modes for function
|
|
ho_default_func_4.m:039: `univ.univ'/1.
|
|
For more information, recompile with `-E'.
|