mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 09:23:44 +00:00
library/string.format.m:
We used to parse format strings, and pair up format specifiers with
the list of input poly_types, using semidet code, throwing
exceptions with generic messages if the semidet code failed.
This diff switches to using det code that returns a list of
situation-specific error messages. Since errors after the first
may be caused by the first error, we now throw exceptions whose
message is a detailed description of the first error, but that
decision is easily changeable.
Simplify some existing code.
tests/general/string_format_test_{2,3}.{exp,exp2,exp3,...}:
tests/invalid/string_format_bad.err_exp:
tests/invalid/string_format_unknown.err_exp:
Update the expected error messages.
3 lines
122 B
Plaintext
3 lines
122 B
Plaintext
Uncaught Mercury exception:
|
|
Software Error: string.format: There is no first conversion specifier, but there is an input.
|