Files
mercury/tests/invalid/coerce_tuple.err_exp
Peter Wang d59abdc6ea Handle tuple_cons when modechecking coerce.
compiler/modecheck_coerce.m:
    Handle tuple_cons cons_id when modechecking coerce instead of
    throwing an exception.

tests/invalid/Mmakefile:
tests/invalid/coerce_tuple.err_exp:
tests/invalid/coerce_tuple.m:
    Add test case.
2024-07-11 16:37:19 +10:00

1.1 KiB

coerce_tuple.m:031: In clause for `bad1':
coerce_tuple.m:031: in coerce expression:
coerce_tuple.m:031: mode error: cannot convert the coerced term from type
coerce_tuple.m:031: `coerce_tuple.basket(coerce_tuple.fruit)' to
coerce_tuple.m:031: `coerce_tuple.basket(coerce_tuple.citrus)' because it has
coerce_tuple.m:031: instantiatedness `unique', and
coerce_tuple.m:031: `coerce_tuple.basket(coerce_tuple.fruit)' is not a
coerce_tuple.m:031: subtype of `coerce_tuple.basket(coerce_tuple.citrus)'.
coerce_tuple.m:037: In clause for `bad2':
coerce_tuple.m:037: in coerce expression:
coerce_tuple.m:037: mode error: cannot convert the coerced term from type
coerce_tuple.m:037: `coerce_tuple.basket(coerce_tuple.fruit)' to
coerce_tuple.m:037: `coerce_tuple.citrus_basket' because it has
coerce_tuple.m:037: instantiatedness `unique', and
coerce_tuple.m:037: `coerce_tuple.basket(coerce_tuple.fruit)' is not a
coerce_tuple.m:037: subtype of `coerce_tuple.citrus_basket'.