Files
mercury/tests/invalid/getopt_old.err_exp
Zoltan Somogyi 2e0f12ba39 Use the last context word in type diagnostics.
compiler/hlds_out_util.m:
    When returning the pieces to use to describe a unify context,
    return an indication of what we called the innermost part of the context.

compiler/typecheck_errors.m:
    Use this info to decide what to call the variable that has the
    incorrect type in a diagnostic, if the variable has no name of its own,
    and therefore *has* to be described by position.

compiler/det_analysis.m:
compiler/det_report.m:
compiler/mode_errors.m:
compiler/typecheck_error_util.m:
    Ignore the extra info now returned by the updated predicate
    in hlds_out_util.m.

tests/invalid/error_in_list.err_exp:
tests/invalid/getopt_old.err_exp:
    Expect updated diagnostics.
2024-05-24 10:08:11 +10:00

974 B

getopt_old.m:027: In clause for predicate `main'/2:
getopt_old.m:027: in argument 2 of call to predicate `io.format'/4:
getopt_old.m:027: in list element #1:
getopt_old.m:027: in unification of element
getopt_old.m:027: and term `s(ErrorMsg)':
getopt_old.m:027: type error in argument of functor `s'/1.
getopt_old.m:027: Argument 1 (ErrorMsg) has type
getopt_old.m:027: getopt.option_error(getopt_old.option),
getopt_old.m:027: expected type was
getopt_old.m:027: string.
getopt_old.m:027: One possible reason for the error is that the signatures of
getopt_old.m:027: the option processing predicates in the `getopt' module
getopt_old.m:027: have changed recently. Errors are now returned in a
getopt_old.m:027: structured form, which can be converted to a string by
getopt_old.m:027: calling the `option_error_to_string' function.