You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
:- pred foo issemidet.
foo :-P=(pred(A::in,V::out)isnondet:-V=A+1),
solutions((pred(Y::out)isnondet:-P(13,Y)),_).
This (supposedly equivalent) modification does not:
:- pred foo issemidet.
foo :-P=(pred(A::in,V::out)isnondet:-V=A+1),
solutions(P(13),_).
Error message:
$ mmc --grade hlc.gc.pregen -E hello.m
hello.m:017: In clause for predicate `foo'/0:
hello.m:017: in argument 1 of call to predicate `solutions'/2:
hello.m:017: in unification of argument
hello.m:017: and term `P(V_9)':
hello.m:017: type error in argument(s) of higher-order term (with arity 1).
hello.m:017: Functor (P) has type `pred(int, int)',
hello.m:017: expected type was `((func V_3) = V_4)'.
which is obscure and completely unhelpful. What does even a type((func V_3) = V_4) mean?
The text was updated successfully, but these errors were encountered:
This bug was reported against rotd-2008-01-14; the problem does not occur with
rotd-2016-06-23, although I'm not sure if that's because the original issue has
been fixed or if there is just something masking it.
tests/valid/bug36.m:
tests/valid/Mercury.options:
tests/valid/Mmakefile:
Add the test case for bug #36.
This code compiles:
This (supposedly equivalent) modification does not:
Error message:
which is obscure and completely unhelpful. What does even a type
((func V_3) = V_4)
mean?The text was updated successfully, but these errors were encountered: