Files
mercury/tests/invalid/constrained_poly_insts3.err_exp
Peter Wang 8e92031e02 Revert a fix for constrained polymorphic modes.
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.
2014-10-02 18:09:17 +10:00

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)'.