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.
4 lines
189 B
Plaintext
4 lines
189 B
Plaintext
Uncaught Mercury exception:
|
|
Software Error: string.format: The first conversion specifier, which uses specifier character `s', is missing its input.
|
|
Stack dump not available in this grade.
|