mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-24 13:53:54 +00:00
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.
1.1 KiB
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'.
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'.