[m-rev.] Line number bug in error message
Volker Wysk
post at volker-wysk.de
Thu Nov 14 04:38:41 AEDT 2024
Hello
I think I have found an error in error message generation. It's in the
following code:
:- pred get_result1(odbc.result(T), T).
:- mode get_result1(in, out) is det.
:- mode get_result1(in(bound(odbc.ok(unique, ground) ; odbc.error(ground))),
out(unique)) is det.
get_result1(Res, Val) :-
(
Res = ok(Val, _)
;
Res = error(Messages),
throw(odbc_error(Messages)) % <- line 251
).
The error message is this:
test.m:251: In clause for `get_result1(in(bound(odbc.error(ground) ;
odbc.ok(unique, ground))), out(unique))':
test.m:251: mode error: argument 1 had the wrong instantiatedness.
test.m:251: Final instantiatedness of `Res' was `bound(ok(ground,
ground))',
test.m:251: expected final instantiatedness was
test.m:251: bound(
test.m:251: error(ground)
test.m:251: ;
test.m:251: ok(unique, ground)
test.m:251: ).
I think the line should be the one containing "Res = ok(Val, _)".
Cheers,
Volker
More information about the reviews
mailing list