Files
mercury/tests/invalid/coerce_implied_mode.m
Zoltan Somogyi 3dc4babb24 Update the style of more test cases.
And update expected output files for changes in line numbers.
2021-07-27 13:29:46 +10:00

37 lines
910 B
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module coerce_implied_mode.
:- interface.
:- type fruit
---> apple
; orange
; lemon.
:- type citrus =< fruit
---> orange
; lemon.
%---------------------------------------------------------------------------%
:- implementation.
:- pred coerce_implied_mode(fruit::in) is semidet.
coerce_implied_mode(Y) :-
Y = coerce(orange : citrus).
:- pred coerce_implied_mode2(fruit::in(bound(orange))) is det.
coerce_implied_mode2(Y) :-
Y = coerce(orange : citrus).
:- pred coerce_implied_mode3(fruit::in(bound(orange))) is failure.
coerce_implied_mode3(Y) :-
Y = coerce(lemon : citrus).
%---------------------------------------------------------------------------%