mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-19 03:13:40 +00:00
Commit 338b5cb98e changed a call in
handle_inst_var_subs_2, essentially from
Recurse(InstA, SubInstB)
to
Recurse(InstA, abstractly_unify_inst(InstA, SubInstB))
Unfortunately, it results in infinite recursion on some cases.
compiler/inst_match.m:
Revert the change to handle_inst_var_subs_2.
tests/EXPECT_FAIL_TESTS.all_grades:
Expect constrained_poly_insts2 to fail now.
tests/invalid/constrained_poly_insts3.err_exp:
tests/invalid/constrained_poly_insts3.m:
tests/invalid/constrained_poly_insts4.err_exp:
tests/invalid/constrained_poly_insts4.m:
Add test cases.
10 lines
574 B
Plaintext
10 lines
574 B
Plaintext
constrained_poly_insts3.m:020: In clause for `p1(in((I =< ground)), out((I =<
|
|
constrained_poly_insts3.m:020: ground)))':
|
|
constrained_poly_insts3.m:020: mode error: argument 2 became too
|
|
constrained_poly_insts3.m:020: instantiated.
|
|
constrained_poly_insts3.m:020: Final instantiatedness of `Y' was
|
|
constrained_poly_insts3.m:020: `bound((list.[]) ; list.'[|]'(ground,
|
|
constrained_poly_insts3.m:020: bound((list.[]) ; list.'[|]'(ground, ...))))',
|
|
constrained_poly_insts3.m:020: expected final instantiatedness was `(I =<
|
|
constrained_poly_insts3.m:020: ground)'.
|